Паскаль! !
c использованием цикла while ( не массив! ).
числа фибоначчи определяются: f0=f1=1, fn=fn-a+fn-2, при n=2, (т.у. каждое последующее число равно сумме двух предыдущих). составить программу:
а) нахождения к-го числа фибоначчи;
б)нахождение самого первого числа фибоначчи, превышающего m;
в) вычисления суммы всех чисел фибоначчи, значения которых не превышает 1000.
буду !
Program test;
var a,i,b,c,d,count:integer;
a1,i1,b1,c1,d1,count1,m1:integer;
a2,i2,b2,c2,d2,count2,summ2:integer;
begin
count := 1;
c := 0;
b := 1;
writeln('Введите номер элемента Фибонначи');
readln(a);
writeln('');
if a=1 then writeln(0);
if a=2 then writeln(1);
if a>2 then
while count<=a-2 do
begin
d := b + c;
c := b;
b := d;
count := count + 1;
end;
if a>2 then writeln(d);
writeln('');
begin
count1 := 1;
c1 := 0;
b1 := 1;
writeln('Введите число M');
readln(m1);
writeln('');
if m1=0 then writeln(1);
if m1=1 then writeln(2);
if m1>1 then
while true do
begin
d1 := b1 + c1;
c1 := b1;
b1 := d1;
count := count+ 1;
if d1>m1 then break;
end;
if m1>1 then writeln(d1);
writeln('');
end;
begin
summ2 := 1;1
count2 := 1;
c2 := 0;
b2 := 1;
writeln('');
while true do
begin
d1 := b1+ c1;
if d1>1000 then break;
c1 := b1;
b1 := d1;
count := count + 1;
summ2 := summ2 + d1;
writeln(summ2);
end;
writeln('');
end;
end.
Объяснение: