В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Света202002
Света202002
20.09.2021 02:48 •  Информатика

1) Два игрока, Петя и Ваня, играют в следующую
игру. Перед игроками лежат три кучи камней. Игроки
ходят по очереди, первый ход делает Петя. За один
ход игрок может добавить в одну из куч (по своему
выбору) два камня или увеличить количество камней
в куче в три раза. Например, пусть в первой куче 10
камней, во второй 7, а в третьей 4 камня; такую
позицию в игре будем обозначать (10, 7, 4). Тогда за
один ход можно получить любую из шести позиций:
(12, 7, 4), (30, 7, 4), (10, 9, 4), (10, 21, 4), (10, 7, 6), (10,
7, 12). Для того чтобы делать ходы, у каждого игрока
есть неограниченное количество камней.
Игра завершается в тот момент, когда суммарное
количество камней в кучах становится не менее 57.
Победителем считается игрок, сделавший последний
ход, т. е. первым получивший такую позицию, что в
кучах всего будет 57 или больше камней.
Будем говорить, что игрок имеет выигрышную
стратегию, если он может выиграть при любых ходах
противника. Описать стратегию игрока — значит,
описать, какой ход он должен сделать в любой
ситуации, которая ему может встретиться при
различной игре противника.

Задание 1. Для каждой из начальных позиций (10, 7,

13), (9, 12, 10) укажите, кто из игроков имеет

выигрышную стратегию. В каждом случае опишите

выигрышную стратегию; объясните, почему эта

стратегия ведёт к выигрышу, и укажите, какое

наибольшее количество ходов может потребоваться

победителю для выигрыша при этой стратегии.

Задание 2. Для каждой из начальных позиций (12, 7,

10), (7, 11, 10) укажите, кто из игроков имеет

выигрышную стратегию. В каждом случае опишите

выигрышную стратегию; объясните, почему эта

стратегия ведёт к выигрышу, и укажите, какое

наибольшее количество ходов может потребоваться

победителю для выигрыша при этой стратегии.

Задание 3. Для начальной позиции (10, 10, 7)

укажите, кто из игроков имеет выигрышную

стратегию. Опишите выигрышную стратегию;

объясните, почему эта стратегия ведёт к выигрышу, и

укажите, какое наибольшее количество ходов может

потребоваться победителю для выигрыша при этой

стратегии. Постройте дерево всех партий, возможных

при указанной Вами выигрышной стратегии.

Представьте дерево в виде рисунка или таблицы.

Показать ответ
Ответ:
julv2
julv2
09.06.2020 15:31

1) program Array16;

var

i:integer; // счетчик в цикле

N:integer;

a: array [1..10] of integer;

begin

writeln('Введите N (N<10)');

readln(N); // ввод размера массива

for i:=1 to N do

begin

write('a[',i,']=');

readln(A[i]); // ручной ввод значений массива

end;

writeln('Результат');

for i:=1 to N do

begin

// вычисление и вывод элементов в указанном порядке

write(' ',a[(i div 2+1)*((i) mod 2)+ n*((i+1)mod 2)-((i div 2)-1)*((i+1) mod 2)]);

end;

end.

2) Var A:array[1..100] of integer;

i,n:byte;

Begin

write('Введите n<=100: ');readln(n);

For i:=1 to n do

Begin

A[i]:=random(31);

write(A[i]:3);

End;

writeln;

For i:=1 to n div 2 do

write(A[i]:3,A[n-i+1]:3);

if n mod 2 <>0 then write(A[n div 2+1]:3);

End.

0,0(0 оценок)
Ответ:
ganjaman007
ganjaman007
05.02.2021 21:46

number = int(input())

last_number = 0

even = 0

odd = 0

while (number > 0):

   last_number = number % 10

   if (last_number % 2 == 0):

       even += 1

   else:

       odd += 1

   number //= 10

print("Even = ", even, "Odd = ", odd)

Объяснение:

number = int(input())  // Объявление + ввод переменной

last_number = 0  // Переменная для хранения последней цифры числа

even = 0  // Количество четных

odd = 0  // Количество нечетных

while (number > 0):  // Пока число > 0

   last_number = number % 10  // Получаем последнюю цифру числа

   if (last_number % 2 == 0):  // Если цифра делится на 2 без остатка

       even += 1  // В переменную even делаем + 1

   else:  // Иначе

       odd += 1  // В переменную odd делаем + 1

   number //= 10  // Удаляем последнюю цифру числа

print("Even = ", even, "Odd = ", odd) // Вывод

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота