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

не сходится ответ

sssrank: В задаче №4749 не сходится ответ ch=0 for i in range(10000001, 1000000000): ss=[] sum1 = 0 q = round(i**0.5) for g in range(2, q+1): if i%g==0: ss+=[i//g] if len(ss)>2: break if len(ss)==3: for t in ss: sum1 +=t a = True e = str(sum1) for p in range(len(e)-1): if (int(e[p])<=int(e[p+1])): pass else: a= False if a: print(sum1) ch+=1 if ch==5: break

Ответов - 4

Поляков: Программу оформите, пожалуйста (см. рамку с желтым фоном вверху). Так невозможно разобраться.

sssrank: Спасибо [pre2] ch=0 for i in range(10000001, 1000000000): ss=[] sum1 = 0 q = round(i**0.5) for g in range(2, q+1): if i%g==0: ss+=[i//g] if len(ss)>2: break if len(ss)==3: for t in ss: sum1 +=t a = True e = str(sum1) for p in range(len(e)-1): if (int(e[ p ])<=int(e[ p+1 ])): pass else: a= False if a: print(sum1) ch+=1 if ch==5: break [/pre2]

Поляков: Вы считаете только делители, которые больше, чем корень из числа. А вот у числа 10005003 нетривиальные делители [3, 9, 1111667, 3335001]. А вы получили только два последних и это число пропустили.


sssrank: *PRIVAT*



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