ответ:Дерево игры - в прилагаемом файле. У игрока, делающего ход первым (Пети) есть выигрышная стратегия: первый ход должен быть +3 (в куче получится 13 камней). В этом случае при ходе второго игрока (Вани) +3 (в куче 16 камней) первый (Петя) выигрывает ходом *2 (в куче 32 камня); при ходе второго игрока (Вани) *2 (в куче 26 камней) первый (Петя) также выигрывает ходом *2 (в куче 52 камня). Второй игрок (Ваня) может выиграть только в случае, если первый (Петя) сделает начальный ход *2 (в куче 20 камней), следующий ход (Вани) *2 (в куче 40 камней) приводит к выигрышу.
# 1.
# Полагаю, что в техническом задании ошибка и считаю фразу "делятся на" фразой "целочисленно делятся на".
def IsDivisible(digit, n): return (digit % n == 0)
digits=range(20, 50 + 1)
required=[str(digit) for digit in digits if IsDivisible(digit, 2) and not IsDivisible(digit, 5)]
print("Result:\n", '\n'.join(required))
# 2.
# Боль от запятой. Голову изломал от этого дробного остатка...
digits=range(35, 87 + 1)
required=[str(digit) for digit in digits if digit % 7 == 1 or digit % 7 == 2 or digit % 7 == 5]
print("Result:\n", '\n'.join(required))
begin
var n:=ReadInteger('n=');
var a:=ArrRandomReal(n,1,50);
a.Println;
var m:=a.Min;
if m<>0 then
for var i:=0 to n-1 do a[i]/=m;
a.Println
end.
Тестовые решения:
n= 5
15.9562486982701 12.6295463515583 11.5262675264507 24.1544637978796 45.6158542677834
1.38433787534893 1.09571865502651 1 2.09560152429653 3.95755643907304
n= 10
14.0622929614327 16.5069398081428 13.2300360101415 45.449448110745 46.6062807271286 41.3808015088461 21.5502972461052 20.3082026570608 6.33108078377837 25.0892608808769
2.22115203417771 2.60728623941069 2.0896962875659 7.17878189569095 7.36150466545052 6.53613544386811 3.40388915922883 3.20769918290964 1 3.96287170196298
// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
begin
var n:=ReadInteger('n=');
var a:=ArrRandom(n,1,50);
a.Println;
var m:=a.Max;
if m<>0 then
for var i:=0 to n-1 do a[i]+=m;
a.Println
end.
Тестовые решения:
n= 8
37 3 10 29 39 31 40 10
77 43 50 69 79 71 80 50
n= 10
9 47 40 19 20 37 21 39 26 31
56 94 87 66 67 84 68 86 73 78