Автор | Сообщение |
|
Отправлено: 09.06.22 13:15. Заголовок: Задание 5170, не сходятся ответы
def su(v): b=0 while v>0: b+=v%10 v=v//10 return b def t(lo): o=0 q=lo s=1 while lo>0: s=s*lo lo-=1 for i in range(q - 1, 2, -1): sim = 0 if (s % i == 0): for j in range(i - 1, 2, -1): if (i % j == 0): sim=sim + 1 if sim==0: o+=1 return o for x in range(2022,22,-1): if su(x)%22==0: if t(x)%2!=0: print(x,t(x)) Даны ответы: 1993 301 1984 299 1966 297 1957 297 1948 295 Полученные ответы: 1984 299 1966 297 1957 297 1948 295 1939 295
|
|
|
Ответов - 2
[только новые]
|
|
|
| Администратор
|
Сообщение: 3575
|
|
Отправлено: 09.06.22 14:21. Заголовок: Вы не учитываете, чт..
Вы не учитываете, что q может быть простым числом, как 1993. Надо так: for i in range(q, 1, -1): .... for j in range(i - 1, 1, -1):
|
|
|
|
Отправлено: 09.06.22 15:46. Заголовок: Спасибо, все сработа..
Спасибо, все сработало как надо
|
|
|
|