# 1. 有一只小猴子,摘了很多桃.
# 第一天吃了全部桃子的一半,感觉不饱又吃了一个
# 第二天吃了剩下桃子的一半,感觉不饱又吃了一个
# .... 以此类推
# 到第十天,发现只剩下一个了
# 请问第一天摘了多少个桃?
# 第十天
x = 1
# # 第九天
# x = (x + 1) * 2
# # 第八天
# x = (x + 1) * 2
# # ...
# x = (x + 1) * 2
# x = (x + 1) * 2
# x = (x + 1) * 2
# x = (x + 1) * 2
# x = (x + 1) * 2
# x = (x + 1) * 2
# x = (x + 1) * 2
for _ in range(9, 0, -1):
x = (x + 1) * 2
print("第一天小猴子摘了", x, "个桃子")
# 2. 完全数
# 1 + 2 + 3 = 6 (6为完全数)
# 1, 2, 3都为6的因数(能被一个数x整除的数为y,则y为x的因数)
# 1 x 6 = 6
# 2 x 3 = 6
# 完全数是指除自身以外的所有的因数之和相加等于自身的数
# 求 4 ~ 5个完全数,并打印出来
# 答案:
# 6
# 28
# 496
# 8128
x = 1
while True:
sum_yinshu = 0 # 此次循环开始,先设置所在因数的和为0
# 先得到所有的因数的和
for i in range(1, x):
if x % i == 0: # 则i为x的因数
sum_yinshu += i
# 判断x是否是完全数,如果是完全数,则打印此数
if sum_yinshu == x:
print(x, "是完全数")
x += 1 # 准备开始下一次循环