python基础练习

1.百钱百鸡问题。百钱百鸡是我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

for x in range(0,20):
    for y in range(0,33):
        for z in range(0,300):
            if 5*x + 3*y + z / 3 == 100 and x + y + z == 100:
                   print("公鸡:%d, 母鸡:%d, 小鸡:%d" % (x,y,z))

Out:

公鸡:0, 母鸡:25, 小鸡:75
公鸡:4, 母鸡:18, 小鸡:78
公鸡:8, 母鸡:11, 小鸡:81
公鸡:12, 母鸡:4, 小鸡:84

2.找出10000以内的完美数。所有的真因子(即除了自身以外的因子)的和(即因子函数)恰好等于它本身。例如:6(6=1+2+3)和28(28=1+2+4+7+14)就是完美数。

import math

for num in range(1,10000):
    sum = 0
    for factor in range(1,int(math.sqrt(num)) + 1):
        if num % factor == 0:
            sum += factor
            if factor >1 and num // factor != factor:
                sum += num // factor
    if sum == num:
        print(num)

Out:

1
6
28
496
8128

3.之前有做过找水仙花数的题目,利用其思想,可以找出一个数的反转,比如234567的反转为765432.

num = int(input())
r_num = 0
while num > 0:
    r_num = r_num * 10 + num % 10
    num //= 10
print(r_num)

Out:

247908
809742
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值