def f(w):
for d in range(2,int(w**0.5)+1):
if w%d==0:
return False
return True
k=0
for x in range(100000):
dn=[]
qn=[]
for i in range(2,int(x**0.5)+1):
if x%i==0:
dn.append(i)
if f(i)==1:
qn.append(i)
if i!=x//i:
dn.append(x//i)
if f(x//i)==1:
qn.append(x//i)
r=int(str(sum(qn))[::-1])
if len(dn)!=0:
if (x+max(dn)+r)>202122:
print(x,(r+max(dn)))
k+=1
if k==5:
break
68594 133540
69374 133330
69548 133145 лишний
69754 132720
69794 134740
69908 132425 лишний
69988 134465 лишний
70388 134765 лишний
71194 135150
подскажите пожалуйста где может быть ошибка
Фирсов) Пусть D(N) – наибольший делитель числа N, отличный от самого числа, и Q(N) –
записанная в обратном порядке сумма всех его простых сомножителей (необязательно
различных). Найдите первые 5 натуральных чисел N, для которых N + D(N) + Q(N) > 202122 В
ответе запишите все найденные числа в порядке возрастания, справа от каждого запишите сумму
D(N) + Q(N) для этого N.
я изменил программу добавляя в d(n) только простые делители и ответ правильный
может такое быть что в задании ошибка?