Форум сайта python.su
Нужно решить задачу:
Найдите хоты бы одно натуральное число, которое делится на 11, а при делении на 2,3,4…,10 дает в остатке 1.
P.S прикол в том что одно число должно выполнять все эти условия.
Офлайн
Ты можешь решить это аналитически, а можешь программно. Напиши программу, которая перебирает числа по порядку и проверяет каждое на все эти условия.
Отредактировано py.user.next (Фев. 18, 2019 02:56:10)
Офлайн
py.user.nextСкажите пожалуйста почему программа не хочет выполняться.
Ты можешь решить это аналитически, а можешь программно. Напиши программу, которая перебирает числа по порядку и проверяет каждое на все эти условия.
Офлайн
Цикл не выполняется, потому что 0 % 11 = 0.
Офлайн
py.user.nextЯ поменял значение a, теперь оно равно 1, но программа все равно не выполняется.
Цикл не выполняется, потому что 0 % 11 = 0.
Офлайн
Rudey
но программа все равно не выполняется.
Офлайн
RudeyЭто потому что 1%2 ==1, а 1%11=1
Я поменял значение a, теперь оно равно 1, но программа все равно не выполняется.
[code python][/code]
Отредактировано PEHDOM (Фев. 18, 2019 11:04:45)
Офлайн
PEHDOMМожете показать каким образом можно оптимизировать мой код. Я уже очень долго сижу над этой задачей, был бы благодарен за помощь.
Офлайн
Rudey
Для начала, я бы подумал над тем, что на 11 нацело может делиться только каждое одиннадцатое число, нет смысла перебирать весь числовой ряд, достаточно перебирать с шагом 11.
Офлайн
RudeyFishHook дело говорит , на 11 нацело может делиться только каждое одиннадцатое число поэтому нет смысла перебирать все числа:
Можете показать каким образом можно оптимизировать мой код.
a= 11 while True: for i in range(2, 11): if a%i != 1: a += 11 break else: break print(a) >>> 25201 >>>
[code python][/code]
Отредактировано PEHDOM (Фев. 19, 2019 16:22:59)
Офлайн