Нужно делить последовательно число в десятичной системе счисления на 16 до тех пор, пока не получится число меньше 16. Полученные при этом остатки нужно выписать в обратном порядке. Числа от 0 до 9 пишутся также, а от 10 до 15 - заменяются буквами латинского алфавита - A,B,C,D,E,F
Var n,fibn:real; i:integer; begin readln(n); if n<=0 then writeln('Не существует чисел Фиббоначи меньше 0') else begin i:=0; while fibn<n do begin fibn:=(power((1+sqrt(5))/2,i)-power((1-sqrt(5))/2,i))/sqrt(5); inc(i); end; writeln((power((1+sqrt(5))/2,i)-power((1-sqrt(5))/2,i))/sqrt(5)-1); end; end.
//В лоб
Var sum,n,buf,fib0,fib1:integer;
function fibb(fib0,fib1:integer):integer; begin result:=fib0+fib1; end;
begin fib0:=0; fib1:=1; readln(n); if n<=0 then writeln('Не существует чисел Фиббоначи меньше 0') else begin if fibb(fib0,fib1)>=n then sum:=0 else begin while fibb(fib0,fib1)<n do begin buf:=fib1; fib1:=fibb(fib0,fib1); fib0:=buf; end; sum:=fibb(fib1,fibb(fib0,fib1))-1; end; writeln(sum); end; end.
Var n,fibn:real; i:integer; begin readln(n); if n<=0 then writeln('Не существует чисел Фиббоначи меньше 0') else begin i:=0; while fibn<n do begin fibn:=(power((1+sqrt(5))/2,i)-power((1-sqrt(5))/2,i))/sqrt(5); inc(i); end; writeln((power((1+sqrt(5))/2,i)-power((1-sqrt(5))/2,i))/sqrt(5)-1); end; end.
//В лоб
Var sum,n,buf,fib0,fib1:integer;
function fibb(fib0,fib1:integer):integer; begin result:=fib0+fib1; end;
begin fib0:=0; fib1:=1; readln(n); if n<=0 then writeln('Не существует чисел Фиббоначи меньше 0') else begin if fibb(fib0,fib1)>=n then sum:=0 else begin while fibb(fib0,fib1)<n do begin buf:=fib1; fib1:=fibb(fib0,fib1); fib0:=buf; end; sum:=fibb(fib1,fibb(fib0,fib1))-1; end; writeln(sum); end; end.