Задача. Даны натуральное число [latex]n[/latex], действительные числа [latex]x_{1}, \cdot x_{n},(n\geq 3)[/latex]. Вычислить:
[latex](x_{1}+2x_{2}+x_{3})(x_{2}+2x_{3}+x_{4}) \cdot (x_{n-2}+2x_{n-1}+x_{n})[/latex].Тесты:
Ввод | Вывод | Комментарий |
6 1 1 1 1 1 1 | 256 | Пройден |
9 1 2 0 1 2 0 1 2 0 | 18000 | Пройден |
5 5 5 5 5 5 | 8000 | Пройден |
Код на С++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#include <iostream> using namespace std; int main() { int n; cin>>n; double x[n]; for (int i=0; i<n; i++)//вводим массив cin>>x[i]; double p=1; for (int i=0; i<n-2; i++)//подсчитываем необходимое произведение { p*=(x[i]+2*x[i+1]+x[i+2]); } cout<<p; return 0; } |
Код на Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
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; n=in.nextInt(); double[] x= new double[n]; for (int i=0; i<n; i++)//вводим массив x[i]=in.nextInt(); double p=1; for (int i=0; i<n-2; i++){ //подсчитываем необходимое произведение p*=(x[i]+2*x[i+1]+x[i+2]); } System.out.print(p); } } |
Решение:
Для нахождения данного произведения воспользуемся массивом. Поскольку в условии указывается нумерация с единицы, то описывая и в дальнейшем обращаясь к массиву, учтем что индекс элемента равен номеру минус единица. В условии продолжения цикла номер не должен превышать n-2, чтобы при подсчете мы не вышли за границу массива.
С работой программы на С++ можно ознакомиться здесь, а на Java здесь.