这个代码目的:
```python
n = int(input())
for k in range(2, n + 1):
cpy = k
a = [0] * 10
while k != 1:
for i in range(2, 10):
if k % i == 0:
k /= i
a[i] += 1
break
SUM = 0
for i in range(10):
SUM += a[i] * i
if SUM + 1 == cpy:
print(cpy)
```
你的代码中有很多变量和代码可以省略,我把你的代码简化了一下,如下:
count=int(input())
for i in range(2,count+1):
for j in range(1,i):
if i%j==0:
count +=j
if(count == i):
print(i)
count=0
import math;
n = int(input("请输入n的值:"))
for i in range(2, n + 1):
sum = 0;
for j in range(1, math.ceil(i / 2) + 1):
if i % j == 0:
sum += j;
if sum == i:
print(i)
不知道你这个问题是否已经解决, 如果还没有解决的话: