<u>1) Решение методом рекурсии.</u>
<u>Программа проста в понимании, но неэффективна при больших значениях
</u>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.
<u>2) Решение методом динамического программирования. Намного быстрее метода с рекурсией.</u><u></u>
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.
<u>3) Решение методом моделирования. Использует меньше памяти.
</u>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.
Ответ:
Объяснение: На компьютерном есть комьпьютер, возможно бумаги
Объем сообщения I=650 битов
Количество символов K=130
I=К*i => i = I / K = 650/130=5 битов
ответ:5 битов.
If a=b
then a2=a*a;
if a>b
then a2=a+a;
Вы это имели ввиду?
Var a,b,c:integer;
begin
write(' введите два различных числа');
read(a,b);
if a>b then c:=a else c:=b;
writeln('большее число =', c);
end.