ivanovayo08
20.02.2020 11:29

Составьте программу вычисления значений​


Составьте программу вычисления значений​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
flanyshkatop
10.10.2022 20:47

type z=array of byte;

var i,a,b,s: integer;

digits: z;

f: text;

begin

assign(f,'input.txt');

reset(f);

read(f,a);

read(f,b);

close(f);

s:=a+b;

i:=0;

while(s>0) do

begin

setlength(digits,i+1);

digits[i]:=s mod 10;

s:=s div 10;

i:=i+1;

end;

for i:=0 to length(digits)-2 do

for b:=0 to length(digits)-i-2 do

if (digits[b] > digits[b+1]) then

begin

a:= digits[b];

digits[b] := digits[b+1];

digits[b+1] := a;

end;

if(digits[0]=0) then for i:=0 to length(digits)-1 do

if(digits[i]<>0) then

begin

digits[0]:=digits[i];

digits[i]:=0;

break;

end;

assign(f,'output.txt');

rewrite(f);

for i:=0 to length(digits)-1 do write(f,digits[i]);

close(f);

end.

0,0(0 оценок)
Ответ:
annet150586
07.03.2020 22:05

В n будем хранить количество чисел, которые ещё нужно вывести. a и b - предыдущее и текущее числа Фибоначчи. По определению, следующее число Фибоначчи равно сумме двух предыдущих, так что новое значение b будет a + b. Чтобы не заводить новую временную переменную, новое значение a можно будет найти, вычитая из нового b старое a, получится (a + b) - a = b.

Код процедуры:

procedure print_fib(n: integer);

var a, b, t: integer;

begin

   a := 0;

   b := 1;

   while n > 0 do

   begin

       write(b, ' ');

       b := a + b;

       a := b - a;

       n := n - 1;

   end;

end;

Пример основной программы:

begin

   print_fib(10)

end.

Вывод:

1 1 2 3 5 8 13 21 34 55

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота