Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень, добавить в кучу четыре камня, или увеличить количество камней в куче в 2 раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16, 19 или 30 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 52. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 52 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 51.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.
Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Укажите минимальное значение S, когда такая ситуация возможна.
1)
var a,b,x,y:longint;
begin
write("Vvedite nachalo i konec otrezka: ");
read(a,b);
write("Vvedite x: ");
read(x);
y:=sqr(x)*x;
if (y>a)and(y<b) then write("Na dannom otrezke znachenie funkcii ravno ",y) else write("Na dannom otrezke net reshenii");
readln
end.
2)
var c,i:byte;
begin
for i:=49 to 215 do
if (i mod 4=0) then c:=c+1;
write("Kolichestvo chisel, kratnyh 4 na zadannom promezhutke ravno ",c);
readln
end.
3)
var i:integer;
p:longint;
for i:=1000 to 9999 do
if (i mod 10=3) then p:=p*i;
write("Proizvedenie chetyrehznachnyh chisel, okanchivaushihsya na 3 ravno ",p);
readln
end.
4)
var i:byte;
c:integer;
begin
for i:=221 to 778 do
if ((i mod 10)=(i div 100)) then c:=c+1;
write("Kolichestvo chisel ravno ",c);
readln
end.
5)
var i:longint;
c:integer;
begin
for i:=10000 to 99999 do
if ((i mod 10)=(i div 10000))and(((i mod 100)div 10)=((i div 1000)mod 10)) then c:=c+1;
write("Kolichestvo chisel ravno ",c);
readln
end.
ответ: Считываем первое число(n), чтобы определить, до какого момента должен продолжаться цикл. Создаем переменную sum, чтобы хранить найденное количество чисел, удовлетворяющих условию. Запускаем цикл, считываем число, если последняя цифра - 4 (проверяем при получения остатка от деления на 10) и число делится на 6 (проверяем при получения остатка от деления на 6), то добавляем к в переменную sum 1.
n = int(input())
sum = 0
for i in range(0, n):
current = int(input())
if current % 10 == 4 and current % 6 == 0:
sum += 1
print(sum)
Объяснение: n = int(input())
sum = 0
for i in range(0, n):
current = int(input())
if current % 10 == 4 and current % 6 == 0:
sum += 1
print(sum)