Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

Задача на Go

Хоп
Ограничение времени 10 секунд
Ограничение памяти 64.0 Мб
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt

В летнем математическом лагере дети бывают беспокойными после отбоя. Чтобы у них не осталось сил беспокоить вожатых и других детей поздним вечером, для них придумали игру, заодно помогающую выучить простые числа. Игру назвали «Хоп».

Правила: игроки становятся в круг, по очереди называют числа и приседают. Если число простое, вместо приседания говорит «хоп». Если игрок ошибся, например назвал другое число, или ошибся с «хоп»,— он немедленно проигрывает. Игра заканчивается на заранее оговоренном числе (например 100, 200, 500 или 1000). Проигравшие начинают с начала.

Партия в хоп для 2 игроков выглядит так:

1-й игрок: 1, хоп, хоп, хоп, 9, хоп, хоп, 15, хоп, хоп, 21, …

2-й игрок: хоп, 4, 6, 8, 10, 12, 14, 16, 18, 20, …

Машу с друзьями поймали вне палаты после отбоя, и заставили играть в игру. Всего получилось 5 игроков, Маша оказалась 3-й по кругу, она начинает с числа 3. Помогите Маше правильно назвать все числа.

Формат ввода
Последнее число, на котором заканчивается игра. Например: 20.

Формат вывода
Действия Маши через пробел. Для 20: «хоп, 8, хоп, 18».

Пример
Ввод Вывод
20
хоп 8 хоп 18
Примечания
Простое число: число, которое делится без остатка только на себя и на 1.

Как определять простые числа?

Самый простой способ: явно проверить, условие выше, перебрав все варианты.

Сравнительно эффективный алгоритм: решето Эратосфена. Вы берёте таблицу (например) с числами от 2 до 100, находите первое незачёркнутое число (2), и вычёркиваете все кратные ему: 4, 6, 8, 10, …, 100. Далее находите следующее незачёркнутое число (3), и вычёркиваете 6 (уже вычеркнуто), 9, 12, …, 99. 4 уже вычеркнуто. Далее 5… На 50 можно остановиться.

Таким образом на доске останутся незачёркнутыми только простые числа.

А особо продвинутые студенты могут найти решение в стандартной библиотеке Go.

По дате
По рейтингу
Аватар пользователя
Ученик

Если узнаешь напиши мне тоже

Аватар пользователя
Просветленный

Хоп мусорок, не шей мне срок