Исполнитель Снеговик8 преобразует число, записанное на экране. У исполнителя две команды, которым присвоены номера:
1. Умножь на 3
2. Прибавь 2 Первая из них увеличивает число на экране в 3 раза, вторая увеличивает его на 2. Программа для исполнителя последовательность команд. это Например, если для числа 17 выполнить команду 2, результатом станет 19, а если команду 1 - то результатом будет число 51. Сколько существует различных программ, для которых при исходном числе 3 результатом является число 201, при этом траектория не содержит число 33?
// Внимание! Если программа не работает, обновите версию!
procedure L(s:sequence of integer);
begin
s.Print(',');
Writeln(': S=',s.Sum,', П=',s.Aggregate(BigInteger(1),(p,q)->p*q))
end;
begin
var n:=ReadInteger('n=');
L(Range(1,2*n-1,2));
L(Range(2,2*n,2));
L(Range(3,3*n,3));
L(Range(4,4*n,4))
end.
Пример
n= 10
1,3,5,7,9,11,13,15,17,19: S=100, П=654729075
2,4,6,8,10,12,14,16,18,20: S=110, П=3715891200
3,6,9,12,15,18,21,24,27,30: S=165, П=214277011200
4,8,12,16,20,24,28,32,36,40: S=220, П=3805072588800