Ввести натуральное число N и вычислить сумму всех чисел Фибоначчи, меньших N. Предусмотрите защиту от ввода отрицательного числа N. Пример: Введите число N: 10000 Сумма 17709
Var n,f1,f2,fn,sum:integer; begin write('n = '); readln(n); while n<=0 do begin writeln('Введите n>0. n = '); readln(n); end; f1:=1; f2:=1; fn:=f1+f2; while fn<n do begin sum:=sum+fn; fn:=f1+f2; f1:=f2; f2:=fn; end; writeln('sum=',sum); end.
Answers & Comments
Verified answer
Var n,f1,f2,fn,sum:integer;begin
write('n = ');
readln(n);
while n<=0 do
begin
writeln('Введите n>0. n = ');
readln(n);
end;
f1:=1; f2:=1;
fn:=f1+f2;
while fn<n do
begin
sum:=sum+fn;
fn:=f1+f2;
f1:=f2;
f2:=fn;
end;
writeln('sum=',sum);
end.
Пример:
n = -10
Введите n>0. n = 10000
sum=17710