Форум » Обработка целых чисел » Задание 5170, не сходятся ответы » Ответить

Задание 5170, не сходятся ответы

Бернер: [pre2] 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)) [/pre2] Даны ответы: 1993 301 1984 299 1966 297 1957 297 1948 295 Полученные ответы: 1984 299 1966 297 1957 297 1948 295 1939 295

Ответов - 2

Поляков: Вы не учитываете, что q может быть простым числом, как 1993. Надо так: [pre2]for i in range(q, 1, -1): .... for j in range(i - 1, 1, -1): [/pre2]

Бернер: Спасибо, все сработало как надо



полная версия страницы