#!/usr/bin/env python3 # -*- coding: utf-8 -*-n = int(input('n = ')) a = int(input('a = ')) sum = 0 total = 0 for i in range(n):sum += (10 ** i)total += sum * a print(total)
这就比较简单了 用循环 就可以做到 sum+=10**i 获得 初始值 2 20 200
2 .'''一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数''' #!/usr/bin/env python # -*- coding: utf-8 -*-for i in range(1, 1001):sum = 0for j in range(1, i):if i % j == 0:sum += jif sum == i:print(i)
因子就是整除 能整除的就是因子 除了1和本身之外
这样题目就简单了
用循环来求得因子 再进行累加 最后得出结果就行