Задача.
Даны натуральное число $n$, действительные числа $x_1, \ldots, x_n, $ где [latex](n\geq 2).[/latex] Вычислить:
[latex]\left( \left( \frac{1}{|x_{1}|+1}+x_{2} \right)\left(\frac{1}{|x_{2}|+1}+x_{3} \right)\cdots\left(\frac{1}{|x_{n-1}|+1}+x_{n} \right)\right)[/latex]Тесты.
Ввод | Вывод | |
$n$ | $x_1, \ldots, x_n$ | $k$ |
2 | 1 1 | 1.5 |
3 | 0.5 1 2 | 4.16667 |
3 | -0.3 1 -0.5 | 0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#include <iostream> #include <math.h> using namespace std; int main() { int n; double k=1; cin>>n; double x[n]; for(int i=0;i<n;i++) { cin>>x[i]; } for(int i=1;i<n;i++) { k*=((1/(fabs(x[i-1])+1))+x[i]); } cout<<k; return 0; } |
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) { Scanner in = new Scanner(System.in); int n = in.nextInt(); double k = 1; double[] x = new double[n]; for(int i = 0; i < n; i++) { x[i] = in.nextDouble(); } for(int i = 1; i < n; i++) { k *= 1 / (Math.abs(x[i - 1]) + 1) + x[i]; } System.out.println(k); } } |
Решение.
Задаем переменные $n, k$и массив действительных чисел с количеством элементов $n$. В первом цикле вводим числа в массив. Во втором умножаем переменную $k$ каждый раз на [latex]\left(\left(\frac{1}{|x_{n-1}|+1}+x_{n} \right)\right)[/latex]. После выводим значение $k$.
— Ссылки для запуска кода нет.
— Меток фактически нет.
— Массивы здесь не нужны.
Код программы(ideone): ideone
Java версия засчитана! Хотя и вместо имени k можно было бы выбрать более понятное имя переменной. Кроме того, Вы забыли дать ссылку на Java версию, размещенную в online ide и зачем-то использовали массивы.