Даны натуральное число 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.
- Вывод результата на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д