<u>1) Решение с помощью рекурсии.</u>
<u>Программа проста в понимании, но неэффективна при больших значениях</u>
function f(i: integer): longint;
begin
if i < 2 then
f := 1
else
f := f(i - 1) + f(i - 2);
end;
begin
writeln('f(10) = ', f(10));
writeln('f(25) = ', f(25));
writeln('f(40) = ', f(40));
end.
<u>2) Решение с помощью динамического программирования. Вычисляет намного быстрее, чем решение с рекурсией.</u><u></u>
var
i: integer;
f: array[0..40] of longint;
begin
f[0] := 1;
f[1] := 1;
for i := 2 to 40 do
f[i] := f[i - 1] + f[i - 2];
writeln('f(10) = ', f[10]);
writeln('f(25) = ', f[25]);
writeln('f(40) = ', f[40]);
end.
<u>3) Решение с помощью моделирования. Использует меньше памяти.</u>
function f(i: integer): longint;
var
a, b: longint;
j: integer;
begin
if i < 2 then
f := 1
else
begin
a := 0;
b := 1;
for j := 0 to i do
begin
b := a + b;
a := b - a;
end;
f := a;
end;
end;
begin
writeln('f(10) = ', f(10));
writeln('f(25) = ', f(25));
writeln('f(40) = ', f(40));
end.
У if'ов небыло begin и end;
у значений массива n небыли проставленны ' ' одинарные кавычки для букв.
у b и v в условиях не те типы данных, поэтому немогут они внутрь себя вместить букву, а только цифры, исправил с integer на char.
не знаю что должна выводить программка, begin и end'ов нету и у циклов. Без begin и end'ов трудно мне просчитать что выведет программа.
Program shifer;var z,a,m,s,j,x:integer;b,v:char;k:array[1..100] of char;n:array[1..100] of char;BEGINn[1]:='а';n[2]:='б';n[3]:='в';n[4]:='г';n[5]:='д';n[6]:='е';n[7]:='ё';n[8]:='ж';n[9]:='з';n[10]:='и';n[11]:='й';n[12]:='к';n[13]:='л';n[14]:='м';n[15]:='н';n[16]:='о';n[17]:='п';n[18]:='р';n[19]:='с';n[20]:='т';n[21]:='у';n[22]:='ф';n[23]:='х';n[24]:='ц';n[25]:='ч';n[26]:='ш';n[27]:='щ';n[28]:='ъ';n[29]:='ы';n[30]:='ь';n[31]:='э';n[32]:='ю';n[33]:='я';n[34]:='а';n[35]:='б';n[36]:='в';readln(a);for m:=1 to a do readln(b); for j:=1 to 33 do x:=0; if b=n[1+x] then begin v:=n[1+x+3]; z:=0; k[1+z]:=v; z:=z+1; end else begin x:=x+1; end; writeln(k);END.
56=101110 в двоичной, Ответ:4 единицы.
Электронная почтовая, это как средство приложения к письмам