Паскаль! !
c использованием цикла while ( не массив! ).
числа фибоначчи определяются: f0=f1=1, fn=fn-a+fn-2, при n=2, (т.у. каждое последующее число равно сумме двух предыдущих). составить программу:
а) нахождения к-го числа фибоначчи;
б)нахождение самого первого числа фибоначчи, превышающего m;
в) вычисления суммы всех чисел фибоначчи, значения которых не превышает 1000.

буду !

markpleshakov9oxahlf markpleshakov9oxahlf    1   09.08.2019 14:38    0

Ответы
ivanpowerflusi ivanpowerflusi  04.10.2020 07:28

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.

Объяснение:

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика