Вопрос школьника по предмету Информатика
У исполнителя Калькулятор две команды, которым присвоены номера:
1. прибавь 2
2. умножь на 2
Сколько есть программ, которые число 1 преобразуют в число 24?
Ответ учителя по предмету Информатика
Ответ: 32
(1+2+2+2+2+2)*2+2
(1+2+2+2+2)*2+2+2+2
(1+2+2+2)*2+2+2+2+2+2
(1+2+2)*2+2+2+2+2+2+2+2
((1+2+2)*2+2)*2
((1+2+2)*2)*2+2+2
(1+2)*2+2+2+2+2+2+2+2+2+2
((1+2)*2+2+2+2)*2
((1+2)*2+2+2)*2+2+2
((1+2)*2+2)*2+2+2+2+2
((1+2)*2)*2+2+2+2+2+2+2
(((1+2)*2)*2)*2
(1)*2+2+2+2+2+2+2+2+2+2+2+2
((1)*2+2+2+2+2+2)*2
((1)*2+2+2+2+2)*2+2+2
((1)*2+2+2+2)*2+2+2+2+2
((1)*2+2+2)*2+2+2+2+2+2+2
(((1)*2+2+2)*2)*2
((1)*2+2)*2+2+2+2+2+2+2+2+2
(((1)*2+2)*2+2+2)*2
(((1)*2+2)*2+2)*2+2+2
(((1)*2+2)*2)*2+2+2+2+2
((1)*2)*2+2+2+2+2+2+2+2+2+2+2
(((1)*2)*2+2+2+2+2)*2
(((1)*2)*2+2+2+2)*2+2+2
(((1)*2)*2+2+2)*2+2+2+2+2
(((1)*2)*2+2)*2+2+2+2+2+2+2
((((1)*2)*2+2)*2)*2
(((1)*2)*2)*2+2+2+2+2+2+2+2+2
((((1)*2)*2)*2+2+2)*2
((((1)*2)*2)*2+2)*2+2+2
((((1)*2)*2)*2)*2+2+2+2+2
Var N : Integer;
Procedure GoGo(a : Integer; s : String);
Begin
If a<=24 then
If a=24 then
Begin
Inc(N);
Writeln(s);
end
else
Begin
GoGo(a+2,s+’+2′);
GoGo(a*2,'(‘+s+’)*2′);
end;
end;
Begin
N:=0;
GoGo(1,’1′);
Writeln(‘N = ‘,N);
end.
Похожие вопросы от пользователей
1-Сu+H2o=
2-ca+H2o=
3-P2O5+H2o=
4-Ag+H2o=
5-Mg+H2o=
6-Fe+H2o=