Лифанов_Ольга
?>

-цикл с эпилогом -цикл с параметром -циклический цикл -цикл с неизвестной величиной

Информатика

Ответы

angelina-uj1350

В 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

rashad8985
1. Для цикла For есть решение выложенное выше  от Srzontmp.

2. Почти ничего не меня получим код для цикла while:
var
  i, n, k: integer;
begin
  i := 2;
  readln(n);
  while i <= n div 2 do begin
    if (n mod i) = 0 then k := i;
    i:=i+1;
    end;
  writeln('наибольший делитель ', n, ' = ', k);
end.

3. Аналогично для цикла Repeat:
var
  i, n, k: integer;
begin
  i := 2;
  readln(n);
  repeat
    if (n mod i) = 0 then k := i;
    i:=i+1;
  until i> n div 2;
  writeln('наибольший делитель ', n, ' = ', k);
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

-цикл с эпилогом -цикл с параметром -циклический цикл -цикл с неизвестной величиной
Ваше имя (никнейм)*
Email*
Комментарий*