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