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

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу 1 камень или 10 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 31. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 31 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 30.

Найдите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

— Петя не может выиграть за один ход;

— Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Опишите выигрышную стратегию Пети для каждого найденного значения S.

Показать ответ
Ответ:
Vs94ski
Vs94ski
19.05.2023 11:37
Переводим число 17 в двоичную систему.

Для этого надо 17 поделить на 2, и каждое последующее частное (покуда это возможно) делить на 2.
17:2=8 (остаток 1)
                          ---
8:2=4 (остаток 0)
                        ===
4:2=2 (остаток 0)
                        +++
2:2=1 (остаток 0)
      ***              """
 Теперь с конца начинаем записывать числа, начиная с 1, потом переходим на остатки снизу вверх
1     0    0       0       1             Получается, две единицы
***  """  +++   ===   ---

ответ: 2
0,0(0 оценок)
Ответ:
sanyaraku
sanyaraku
18.07.2020 11:41
Using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace zn
{
    class Program
    {
        public static void Main(string[] args)
        {
            Console.Write("Введите кол-во минут по тарифу: ");
            int a = Convert.ToInt32(Console.ReadLine());
            Console.Write("Введите цену за минуту по тарифу: ");
            int b = Convert.ToInt32(Console.ReadLine());
            Console.Write("Введите цену за минуту сверх тарифа: ");
            int c = Convert.ToInt32(Console.ReadLine());
            Console.Write("Введите время пользования услугами связи за месяц в минутах: ");
            int d = Convert.ToInt32(Console.ReadLine());
            int res = a > d ? a * b : a * b + (d - a) * c;
            Console.WriteLine("Плата за пользование: " + res);
            Console.ReadKey();
        }
    }
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота