Составить программу, которая находит первые k чисел Пелля (k – задается пользователем). - Pascal ABC
Формулировка задачи:
Числа Пелля определяются так: первое число равно 1, второе равно 2, каждое следующее равно a(n)=2a(n-1)+a(n-2). Составить программу, которая находит первые k чисел Пелля (k – задается пользователем).
Решение задачи: «Составить программу, которая находит первые k чисел Пелля (k – задается пользователем).»
textual
Листинг программы
const nmax=100; var a: array[1..nmax] of longint; i,n: integer; begin write('Введите искомое количество чисел n: '); readln(n); a[1]:=1; writeln('1-е число Пелля: ',a[1]); a[2]:=2; writeln('2-е число Пелля: ',a[2]); for i:=3 to n do begin a[i]:=a[i-1]*2+a[i-2]; writeln(i,'-е число Пелля: ',a[i]); end; readln; end.
Объяснение кода листинга программы
- Объявляются переменные: — nmax - максимальное количество чисел Пелля, которое можно хранить в массиве (100); — n - количество чисел Пелля, которые нужно найти (не более nmax); — a - массив для хранения чисел Пелля (длиной nmax+1, т.к. первое и второе числа уже заданы); — i, n - счётчики для перебора чисел (n не будет использоваться).
- Запрашивается у пользователя искомое количество чисел n.
- В массиве a инициализируются первые два числа Пелля: a[1]=1, a[2]=2.
- С помощью цикла for (от i=3 до n) вычисляются и записываются в массив a все остальные числа Пелля. Формула для вычисления a[i]:=a[i-1]*2+a[i-2].
- С помощью цикла for (от i=1 до n) выводятся на экран все найденные числа Пелля.
- Программа ожидает ввода пользователя (readln) для завершения работы.