Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Python задача. Как правильно написать код

Алексей Воробьев Ученик (193), закрыт 4 года назад
Программист на Северном полюсе работал за компьютером в варежках и поэтому мог набирать только 0 и 1, а клавиша 0 запала. Сможет ли он набрать число, состоящее только из единиц и при этом кратное заданному N?

Входные данные
Программе дано число N (1 ≤ N ≤ 106).

Выходные данные
Вывести минимальное число, удволетворяющее требованию, или "NO" , если такого числа не существует.
Лучший ответ
Аглая Шниц Искусственный Интеллект (136941) 4 года назад
https://otvet.mail.ru/question/214535069
там по времени не проходило, но где-то в обсуждении вроде получилось.
Остальные ответы
Aleks Nots Просветленный (22572) 4 года назад
Полярные единички.

Вот еще вариант

N = int(input('>'))
A=[]
e=0
m=0
res='NO'
if N%10 not in [0,2,4,5,6,8]:
~~for _ in range(N+1):
~~~~m=(m*10+1)%N
~~~~e += 1
~~~~A.append('1')
~~~~if m==0:
~~~~~~res='YES'
~~~~~~break
else:
~~res=='NO'

if res=='NO':
~~print(res)
else:
~~#print('1'*e)
~~print(e)
----------------
Вот с выводом самого числа может быть проблема
Так как вывод в терминал - довольно медленный процесс
то, если выводить само число, то только на его вывод может
понадобится несколько секунд если это число возле миллиона,
например для 999983 оно состоит из 999982 единиц
И на моем компе само вычисление этого числа занимает полсекунды, а вывод около четырех секунд, поэтому я вывод самого числа закомментировал, а вместо него сделал вывод количества единиц, что не соответствует условию, зато быстрее и нагляднее.

PS
То, что Вам не нужно для задачи, просто не переписывайте себе.
NeUro волков Ученик (98) 1 год назад
помогите на джава сделать
Похожие вопросы