Даны натуральное число n, действительные числа a1, … , an . Вычислить обратную величину произведения тех членов ai - Free Pascal
Формулировка задачи:
Даны натуральное число n, действительные числа
a1, … , an . Вычислить обратную величину произведения тех членов ai
последовательности a1, … , an , для которых выполнено i+1 < ai < i!.
Ребята что я не так сделал помогите пожалуйста
program zadacha;
const
n=5;
var
a:array [1..n] of real;
i,f:integer;
begin
f:=1;
writeln('input ', n, ' real variable>');
for i:=1 to n do
writeln ('a',i,' = ');
readln(a[i]);
readln;
for i:=1 to n do begin
f:=f*i;
if (a[i]>(i+1))and(a[i]<i) then
a[i]:=1/a[i];
end;
for i:=1 to n do
writeln('a',i,' = ',a[i]:3:2);
readln;
end.Решение задачи: «Даны натуральное число n, действительные числа a1, … , an . Вычислить обратную величину произведения тех членов ai»
textual
Листинг программы
#include<stdio.h>
int main()
{
int n;
printf("Enter number of members: \n");
scanf("%d",&n);
float a[n];
for ( int i=1; i<=n; ++i) {
printf("Enter member ");
printf("%d", i);
printf(": ");
printf("\n");
scanf("%f", &a[i]);
}
for (int i=1; i<=n; ++i) {
printf("%f\n",a[i]);
}
float f=1, p=1;
for (int i=1; i<=n; ++i)
{
f = f * i;
if ((a[i]>(i+1)) && (a[i]<f)) {
p = p / a[i];
}
}
printf("%f\n",p);
}
Объяснение кода листинга программы
В этом коде реализован алгоритм обратной функции для вычисления обратной величины произведения элементов массива. Список действий:
- Ввод количества элементов массива.
- Заполнение массива a[i] элементами.
- Вычисление произведения всех элементов массива a[i] и сохранение его в переменной f.
- Вычисление обратной величины p для f.
- Вывод результата на экран.