Форум » Обработка целых чисел » 25. 83. (Д.Ф. Муфаззалов, г. Уфа) » Ответить

25. 83. (Д.Ф. Муфаззалов, г. Уфа)

zzzaharrr: У нас получается 491, вот код: [pre2] k=0 n=1 for i in range(2, 2001): num=i for d in range (i//2, 0, -1): if i%d==0: if num-d>=0: num-=d if num==0: k+=1 # print(n, i) ((вывод полусовершенных чисел)) # n+=1 print(k)[/pre2]

Ответов - 1

Поляков: Очень тяжело разобраться. Отступы проставьте. Похоже, что вы берете набор младших делителей до того, как сумма этих делителей станет больше или равна самому числу. Но всё более сложно - это может быть ЛЮБАЯ комбинация собственных делителей. В программе это не учитывается. Решение задачи можно посмотреть на сайте.



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