Вывести N первых чисел Фибоначчи. Почему не принимает сервак? - Free Pascal
Формулировка задачи:
Задано целое число N (1 ≤ N ≤ 31). Сформировать и вывести целочисленный массив A размера N, содержащий N первых элементов последовательности чисел Фибоначчи: Fk: F1 = 1, F2 = 1, Fk = Fk-2 + Fk-1, k = 3, 4, ... .
Входные данные
В единственной строке задано число N.
Выходные данные
Вывести последовательность из N первых чисел последовательности Фибоначчи по одному в строке.
Массив я просто так дописал, я знаю что он неправильный. Но вот самое главное в этой задаче-массив?
type TA = array[1..31] of integer; var N,i:longint; function F(N:longint):longint; begin if(N=1) or (N=2) then F:=1; if N>2 then F:=F(N-2) + F(N-1); end; begin Readln(N); for i:=1 to N do Writeln(F(i)); Writeln; end.
Решение задачи: «Вывести N первых чисел Фибоначчи. Почему не принимает сервак?»
textual
Листинг программы
var F:array[1..31] of integer; N,i:longint; begin read(N); for i:=1 to N do begin if i in[1,2] then F[i]:=1 else F[i]:=F[i-2]+F[i-1]; Writeln(F[i]); end end.
Объяснение кода листинга программы
- В начале кода объявляются три переменные: F, N и i.
- Переменная F - это массив из 31 элемента типа integer.
- Переменная N - это счетчик, который определяет количество чисел Фибоначчи, которые нужно вывести.
- Переменная i - это индекс, который используется для обращения к элементам массива F.
- Значение переменной N считывается с помощью функции read.
- Используя цикл for, значения элементов массива F от 1 до N вычисляются в соответствии с формулой Фибоначчи.
- Если i равно 1 или 2, то F[i] присваивается 1.
- В противном случае, F[i] присваивается сумма F[i-2] и F[i-1].
- Значение каждого элемента массива F выводится на экран с помощью функции Writeln.
- Код не содержит обработки ошибок или проверки на выход за границы массива, что может привести к неопределенному поведению при вводе некорректных значений для N.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д