Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 75. Победителем считается игрок, сделавший последний ход, т.е. первым получивший такую позицию, при которой в кучах будет 75 или больше камней. В начальный момент в первой куче было 8 камней, во второй куче – S камней; 1 ≤ S ≤ 66. Найдите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
− Петя не может выиграть за один ход;
− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Найденные значения запишите в ответе в порядке возрастания без пробела.
// Внимание! Если программа не работает, обновите версию!
begin
var m:=ReadInteger('Количество строк в массиве:');
var n:=ReadInteger('Количество столбцов в массиве:');
var k:=ReadInteger('Номер строки с произведением:');
Writeln('*** Исходный массив [',m,',',n,'] ***');
var a:=MatrRandom(m,n,-50,50);
a.Println(4); Writeln(4*a.ColCount*'-');
Writeln('П(',k,')=',a.Row(k).Aggregate(BigInteger(1),(x,y)->x*y))
end.
Пример
Количество строк в массиве: 7
Количество столбцов в массиве: 12
Номер строки с произведением: 5
*** Исходный массив [7,12] ***
-12 -2 34 -15 -3 -21 -43 -21 -15 -36 -44 30
-6 -4 8 -28 40 46 1 44 -34 23 47 5
-12 -22 10 -10 -2 -44 46 -38 -5 41 -45 26
-2 -47 26 46 -6 -36 1 14 -21 29 9 21
-1 15 20 -37 20 24 -10 15 1 -22 48 -31
19 17 32 -22 -32 44 -15 3 -10 32 25 36
-30 6 0 -48 -29 -17 -24 9 19 39 41 33
П(5)=4149376450560000
Целая часть от деления
293 div 8 = 36
36 div 8 = 4
4 div 8 = 0
0 div 8 = 0
Остаток от деления
293 mod 8 = 5
36 mod 8 = 4
4 mod 8 = 4
0 mod 8 = 0
Остаток от деления записываем в обратном порядке. Получаем целую часть числа в 8-ой системе счисления: 0445
293 = 0445
Для перевода дробной части числа последовательно умножаем дробную часть на основание 8. В результате каждый раз записываем целую часть произведения.
0.125*8 = 1 (целая часть 1)
0*8 = 0 (целая часть 0)
0*8 = 0 (целая часть 0)
0*8 = 0 (целая часть 0)
1000
Получаем число в 8-ой системе счисления: 1000
0.125 = 0.10008
В итоге получаем число: 0445.10008
ответ: 293.125=0445.10008
Решение было получено и оформлено с сервиса:
Перевод чисел онлайн