program FibonachiNums;
function FibN(n: integer): BigInteger;
begin
var (f1, f2) := (BigInteger(1), BigInteger(1));
for var i := 3 to n do
(f1, f2) := (f2, f1 + f2);
result := f2;
end;
function FibSumN(n: integer): BigInteger;
begin
var (f1, f2) := (BigInteger(1), BigInteger(1));
var Sum: BigInteger;
if n = 0 then Sum := 0
else Sum := 1;
for var i := 2 to n do
begin
(f1, f2) := (f2, f1 + f2);
Sum += f1;
end;
result := Sum
end;
begin
Println('десятое число Фибоначчи:',FibN(10));
var n := 100;
Writeln($'{n}-е число Фибоначчи: ',FibN(n));
Println($'Сумма первых {n} чисел Фибоначчи:',FibSumN(n))
end.