function F(x: integer): integer; begin if x < 3 then F := 1 else F := F(x - 1) + F(x - 2); end;
begin k20:=F(20); writeln(k20);
count:=-1; {k=20 мы ж вроде должны вычесть} for k := 3 to 50 do begin fk:=F(k); if fk=k20 then count:=count+1; write(fk,' '); end; writeln(count);
end.
функция работает очень медленно потому что это рикурсия. Функция создает последовательность числ фибоначи которые вообщ то не повторяются потому что последовательность возрастающая. Повторения вообщем возможны изза того что integer это не безконечная последовательность, а кольцо, но дождаться результатов при таким образом построенной функции просто нереально
Для перевода из 2-й в 4-ю нужно двоичное представление разбить на пары,начиная с конца и каждую пару представить числом. В Вашем примере: 10 01 11 - 213(4), в восьмиричной такие же действия, только разбиваем на группы по три: 100 111 - 47(8), в шестнадцатеричной на группы по 4: 10 0111 - 27(16). Из 4-й в 2-ю наоборот, каждую цифру четверичной нужно представить двоичной парой 301(4)=110001(2). Дальше аналогично предыдущему примеру. 110001(2)=61(8)=49(10)=31(16) 706(8)=111000110(2)=13012(4)=454(10)=1С6(16) F01(16)=111100000001(2)=330001(4)=7401(8)=3841(10)
б) а, в, д, ё, з, й, л, н, п,с...
в) 4, 9, 16, 25, 36, 49, 64, 81.
г) 112, 113, 114, 212, 213, 214, 312, 313, 314...
д) о,д,т,ч,п,ш,с,в,д,д...