python语言篇(7练习1)

# 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  # 准备开始下一次循环

猜你喜欢

转载自blog.csdn.net/Jason_Edison/article/details/88808893