Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 

Загадали? Угадаем!

(Время: 1 сек. Память: 16 Мб Сложность: 41%)

Это интерактивная задача.

Вам требуется сыграть с программой жюри в следующую игру:

Программа жюри загадывает целое число N от 1 до 104. Вы можете задавать запрос – целое число K от 1 до 108 включительно. На запрос программа жюри сообщает остаток от деления числа NN на число K.

Ваша задача – отгадать загаданное число не более, чем за 5 запросов.

Протокол взаимодействия

Взаимодействие вашей программы с программой жюри осуществляется через стандартный поток ввода-вывода. Сначала программа жюри сообщает Вам одно целое число T (1 ≤ T ≤ 1000) – количество партий, которые Вам надо сыграть.

В каждой партии взаимодействие начинает ваша программа запросом числа K. Запрос задаётся в виде «? K», где 1 ≤ K ≤ 108 – целое число. Программа жюри выдаст ответ – остаток от деления загаданного числа в степени самого себя на K. Вы можете задать не более пяти запросов за партию.

Если Вы хотите назвать число N, то выведите строку «! N», где N – предполагаемое значение N. Если программа жюри выведет число 1, то ответ угадан верно и Вы можете начать следующую партию. Если программа жюри выведет число –1, то ответ угадан неверно.

После успешного прохождения всех партий Ваша программа должна немедленно завершиться.

Пример

стандартный вводстандартный вывод
11
7
27
27
1
? 10
? 100
? 100000000
! 3

Примечание

Для корректной работы программы после каждой операции вывода данных выводите перевод строки, а также очищайте буфер вывода. Очистка буфера вывода производится следующим образом:

  • В языке Pascal: flush(output)
  • В С/С++: fflush(stdout) или cout.flush()
  • В Java: System.out.flush()
  • В Python: sys.stdout.flush() из библиотеки sys
  • В C# и Basic: Console.Out.Flush()

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

[Обсуждение] [Все попытки] [Лучшие попытки]


 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 ЕГЭ по информатике
 Тренировочные олимпиады
 Школьный этап
 Муниципальный этап
 Региональный этап
 Полуфинал ВКОШП
 Личное первенство СФУ
 2006 / 2007
 2007 / 2008
 2008 / 2009
 2009 / 2010
 2010 / 2011
 2011 / 2012
 2012 / 2013
 2013 / 2014
 2014 / 2015
 2015 / 2016
 2016 / 2017
 2017 / 2018
 2018 / 2019
 2019 / 2020
 2020 / 2021
 2021 / 2022
 2022 / 2023
 2023 / 2024
 2024 / 2025
 A. Атрибутика
 B. Боксёры
 C. Вечерний пейзаж города К
 D. Генные модификации
 E. Деревянный забор
 F. E равно эм це квадрат?
 G. Ёлочные украшения
 H. Железнодорожные тарифы
 I. Загадали? Угадаем!
 J. Искусство алхимии
 K. Йодакойн
 L. Клумбы

Красноярский краевой Дворец пионеров, (c)2006 - 2025, ИНН 246305493507, E-mail: admin@acmp.ru