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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章