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