...А если интересует решение на классическом Паскале, предлагаю просто поддерживать текущее, предыдущее и пред-предыдущее значения в ряду, и в цикле обновлять ответ.
Обрати внимание! longint может хранить значения только до , поэтому конкретно в этой программе вывод будет достоверным только для N ≤ 46. Ты можешь сделать текущую, предыдущую и пред-предыдущую переменные типа int64, и тогда максимальное значение N возрастёт до 92. Для бОльших N тебе придётся писать длинное сложение.
var
i, n, pred, predpred, cur: longint;
begin
read(n);
if n = 1 then writeln(1)
else if n = 2 then writeln('1 1')
else write('1 1 ');
if n < 3 then exit;
pred := 1;
predpred := 1;
for i := 3 to n do
begin
cur := pred + predpred;
write(cur, ' ');
predpred := pred;
pred := cur;
end;
writeln;
end.
Поделитесь своими знаниями, ответьте на вопрос:
Задания. 1. Опишите двумерный массив А, состоящий из 6 строк и 3 столбцов, элементами которого являются целые числа: 2. Опишите двумерный массив В, состоящий из 3 строк и 8 столбцов, элементами которого являются символы: 3. Дана матрица А размера 3x4. Отметьте в ней «крестиком» положения элементов А[1, 3], А[2, 3], А[2, 4], А[3, 2]. 4. Дана матрица А размера 8 х 7 . В какой строке и в каком столбце стоят элементы? А [1, 7] в _ столбце, в __ строке; А [5, 3] в _ столбце, в __ строке; А [8, 2] в __ столбце, в __ строке. 5. Задана матрица А размера 5x7. Требуется вывести ее на экран так, чтобы каждая строка матрицы выводилась на экран с новой строки. Выберите фрагмент программы, в которой вывод выполняется правильно. ответ: 1) For i:=l to 7 do Begin For j:=1 to 5 do write(A[i, j] ) ; Writeln; End; 3) For j :=1 to 5 do Begin For i:=l to 7 do write(A[i, j]); Writeln; End; 2) For i:=l to 5 do For j:=1 to 7 do write(A[i, j]); Writeln; End; 4) For i:=l to 5 do Begin For j:=1 to 7 do write(A [i, j]) ; Writeln; End; 6. Впишите в тексты программ операторы так, чтобы в результате были получены расположенные напротив них матрицы. 1) Program matrl; Var Al:array[1..4, 1..5] of byte; i, j:byte; Begin End. 2) Program matr2; Const n=4, m=5; Var A2:array[1..n, 1..m] of byte; i, j:byte; Begin End. 3) Program matr3; Const n=4, m=5; Var A2:array[1..n, 1..m] of byte; i, j:byte; Begin End. 7. Составить программу. Элементы двумерного массива – случайные числа, лежащие в диапазоне [0, 40]. Найти минимальный элемент в каждом столбце массива.
def check_perfect(number:int, dividers = []):
for i in range(1, number):
if number%i == 0:
dividers.append(i)
if sum(dividers) == number:
return 1
def get_div(num, div = []):
for i in range(1, num):
if num%i == 0:
div.append(i)
return div
def main():
number = int(input())
if check_perfect(number):
print(' '.join(str(num) for num in get_div(number)))
else:
print(0)
if __name__ == '__main__':
main()
Объяснение:
На случай, если сайт сломает табуляции в коде (А он их сломает), ниже представлен скриншот оригинала кода. Программа протестирована.