Задача Вычислить: Реализовать формулу, x+=[знак который зависит от четности/нечетности определяется отдельно для каждого элемента массива]*[соответствующий элемент массива]/[факториал текущего номера элемента массива].
Тест
n | последовательность | sum(wolframalpha) |
2 | 0 0 | 0 |
2 | 5 8 | -1 |
3 | 5 8 12 | -3 |
4 | 1 2 3 24 | 1 |
5 | 0 0 0 2 3 | 0, 058333 |
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
import java.util.*; import java.lang.*; import java.io.*; class Ideone { public static void main (String[] args) throws java.lang.Exception{ Scanner in = new Scanner(System.in); int n = in.nextInt(); int[] a = new int[n]; for (int i=0; i<n; i++){ a[i] = in.nextInt(); } double sum=0; int f=1; for (int i=1; i<=n; i++){ f*=i; double sign = (i%2==0) ? 1 : -1; sum+=(sign*a[i-1])/f; } System.out.println(sum); } } |
Решение:
В этой задаче главное правильно расставить знаки, так как это повлияет на результат.Поэтому мы заводим переменную , которая будет следить за знаком. Далее проверяем чётность, если элемент делиться на 2 без остатка, то он получает знак