Задача:
Вычислить [latex]x=2\left(\sin x-\frac{\sin 2x}{2}+\frac{\sin 3x}{3}-\cdots+\left(-1 \right)^{n-1} \frac{\sin nx}{n}\right), [/latex] [latex]-\pi < x < \pi [/latex]
Тесты
n | x | Сумма | Комментарий |
3 | 1 | 0.867725 | Пройден |
2 | 2 | 2.575397 | Пройден |
1 | 5 | -1.917849 | Пройден |
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
/* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import java.io.*; /* Name of the class has to be "Main" only if the class is public. */ class Ideone { public static void main (String[] args) throws java.lang.Exception { Scanner sc = new Scanner(System.in); int n; double x; n = sc.nextInt(); x = sc.nextInt(); double result=0; int j = 1; for(int i = n; i > 0; i--){ result += j * Math.sin(i * x) / i; j *= -1; } System.out.println(result); } } |
Описание решения:
Запишем общий вид суммы: [latex]2\sum_{i=1}^{n}{\left(-1 \right)^{n-1}}\frac{\sin ix}{i}[/latex]
Чтобы вычислить сумму запускаем цикл. Перед слагаемыми стоят разные знаки. Что бы вычислить, какой знак будет перед очередным слагаемым используем условный оператор.
— «общий вид суммы» не соответствует задаче
— не используйте картинки вместо формул, они не индексируются поисковиками — используйте latex
— опубликуйте полный код программы, а не фрагмент
— условный оператор для чередования знаков не нужен — просто знак каждый раз домножается на -1 (sign *= -1)
— нет ссылки на код в ideone.com
Про gravatar забыли?