Ошибка.
Попробуйте повторить позже
Тимофей любит число и все числа кратные
Вопрос — где первое вхождение кратного в последовательности ? Если последовательность не содержит кратных , в ответе вместо этого запишите .
Поскольку -й член данной последовательности можно записать в виде , посчитаем сумму геометрической прогрессии, поэтому искомым ответом является минимальное натуральное число , такое что делится на . Если кратно , вы можете рассмотреть, делится ли на вместо этого и в противном случае вы можете рассмотреть, делится ли на . Поэтому давайте определим целое число таким образом, что если кратно или в противном случае. Теперь достаточно найти минимальное натуральное число i такое, что делится на , т. е. такое что остаток от деления на равен . Если кратно , то кратно для любого положительного целого числа , поэтому его остаток деленное на никогда не будет равно . То же самое относится, когда кратно . Если ни одно из них не выполняется, то по теореме Эйлера выполняется (mod ).
Поэтому, вам достаточно рассмотреть лишь подсчитать функцию эйлера за и проверить все делители её значения. Потому что фактически в задаче вас просят найти показатель числа по модулю .
Заметьте, что, не прибегая к приведенному выше математическому наблюдению, вы можете предположить, что «если ответ не равен , тогда ответ будет довольно маленьким;
Маленьким значит не более . Поэтому вы можете рассмотреть первые значений.
Поэтому фактически в задаче всего лишь требуется подсчитать сумму геометрической прогрессии и написать перебор
Решение на С++
void solve() { int K; K = 999983; int cur = 10; for(int i = 0; i < 9 * K; ++i){ if(7 * (cur - 1) % (9 * K) == 0){ cout << i + 1 << "\n"; return 0; } cur = (cur * 10) % (9 * K); } cout << "-1\n"; return 0; }
Решение на Python
k = 999983 ans = -1 s = 7 for i in range(10 ** 6): if s % k == 0: ans = i + 1 break s = s * 10 + 7 print(ans)
Специальные программы
Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!
Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.
Бесплатное обучение
в Школково
Для детей ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Брянской областей, а также школьникам, находящимся в пунктах временного размещения Крыма обучение на платформе бесплатное.
Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».
Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ или олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!
Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!