-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtask23.py
More file actions
49 lines (40 loc) · 2.44 KB
/
Copy pathtask23.py
File metadata and controls
49 lines (40 loc) · 2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
"""Идеальным числом называется число, у которого сумма его делителей равна самому числу. Например, сумма делителей числа 28 равна 1 + 2 + 4 + 7 + 14 = 28, что означает, что число 28 является идеальным числом.
Число n называется недостаточным, если сумма его делителей меньше n, и называется избыточным, если сумма его делителей больше n.
Так как число 12 является наименьшим избыточным числом (1 + 2 + 3 + 4 + 6 = 16), наименьшее число, которое может быть записано как сумма двух избыточных чисел, равно 24. Используя математический анализ, можно показать, что все целые числа больше 28123 могут быть записаны как сумма двух избыточных чисел. Эта граница не может быть уменьшена дальнейшим анализом, даже несмотря на то, что наибольшее число, которое не может быть записано как сумма двух избыточных чисел, меньше этой границы.
Найдите сумму всех положительных чисел, которые не могут быть записаны как сумма двух избыточных чисел."""
import dilnyk_n
list_over_number = []
for i in range(2,28123):
sum = 0
for dilnyk in dilnyk_n.d(i):
sum += dilnyk
if i < sum:
list_over_number.append(i)
sum_not_over = 0
for i in range(2,28139):
list_over_number_copy = list_over_number
for one in list_over_number:
if i == 2*one:
c = 1
break
if i < one:
c = 1
break
for two in list_over_number_copy:
if i < two:
c = 1
break
if i != one + two:
c = 1
continue
else:
c = 0
if c:
list_over_number_copy.remove(one)
continue
else:
c = 0
if c:
sum_not_over += i
if __name__ == '__main__':
print(sum_not_over)