oksanamalakhova004610
?>

Какую часть лазерного диска объемом 700 МБ занимает книга, состоящая из 448 страниц? (на каждой странице книги 64 строки по 64 символа)​

Информатика

Ответы

seleznev1980
1) Решение методом рекурсии.
Программа проста в понимании, но неэффективна при больших значениях
var
  n: integer;
function f(i: integer): longint;
begin
  if i < 2 then
    f := 1
  else
    f := f(i - 1) + f(i - 2);
end;
begin
  read(n);
  writeln(f(n));
end.

2) Решение методом динамического программирования. Намного быстрее метода с рекурсией.
var
  i, n: integer;
  f: array[0..50] of longint;
begin
  read(n);
  f[0] := 1;
  f[1] := 1;
  for i := 2 to n do
    f[i] := f[i - 1] + f[i - 2];
  writeln(f[n]);
end.

3) Решение методом моделирования. Использует меньше памяти.
var
  n, a, b, i: integer;
begin
  read(n);
  if n < 2 then
    a := 1
  else
  begin
    a := 0;
    b := 1;
    for i := 0 to n do
    begin
      b := a + b;
      a := b - a;
    end;
  end;
  writeln(a);
end.

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

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

Какую часть лазерного диска объемом 700 МБ занимает книга, состоящая из 448 страниц? (на каждой странице книги 64 строки по 64 символа)​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

ruslanriad10
Asplaksina
Magnolia200872
Rizhov Alekyan325
yusinelnik8
svetarakityanskaya
Grigorev_Nikita794
Lusiarko65
artemy682719
kronid12
alexeytikhonov
angelina-uj1350
Telenkovav
Sinelnikov1650
alfaantonk