Var n, s, a, p, v:integer;
begin
write('N = '); readln(n);
s:=n div (3*4*4);
a:=(n mod (3*4*4)) div (4*4);
p:=(n mod (4*4)) div 4;
v:=n mod 4;
writeln('s = ',s,' a = ',a,' p = ',p,' v = ',v);
end.
Пример:
N = 2061
s = 42 a = 2 p = 3 v = 1
Var
A:integer;
Begin
Write(A);Read(A);
if (A>9)and(A<100) then Write('А - двузначное')
else Write('А - не двузначное')
End.
Форма, рик, кит, кіт, фарт, норма, корм, міф, роман, мати, фінт, фора, міра, мир, Рим, тік, романтика, Кіра, Рима, карта, рама, комар, марка, рак, кара, фара, рамка, рифма, тиран, Іран, Ірак, Каїр, морфін, факт, карат, таран, кіно, кома
<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.