Предмет: Информатика,
автор: snails125
У исполнителя калькулятор две команды, которым присвоены номера:
1) прибавь 1;
2) умножь на 4.
Напишите программу, которая вычисляет, сколько существует различных программ, преобразующих число M в число N, оба числа вводятся с клавиатуры.
Ответы
Автор ответа:
0
{работает для натуральных чисел}
function f(m,n : integer): integer;
begin
if n = m then
f := 1
else
if n < m then
f := 0
else
if (n mod 4 = 0) and (n <> 0) then
f := f(m,n-1) + f(m,n div 4)
else
f := f(m,n-1)
end;
var
m,n : integer;
begin
read(m,n);
writeln(f(m,n))
end.
function f(m,n : integer): integer;
begin
if n = m then
f := 1
else
if n < m then
f := 0
else
if (n mod 4 = 0) and (n <> 0) then
f := f(m,n-1) + f(m,n div 4)
else
f := f(m,n-1)
end;
var
m,n : integer;
begin
read(m,n);
writeln(f(m,n))
end.
Похожие вопросы
Предмет: Математика,
автор: aitkulmamilina
Предмет: Алгебра,
автор: aqkq
Предмет: Биология,
автор: Аноним
Предмет: Биология,
автор: vikusya28118
Предмет: Физика,
автор: garaevaaida