转自同名微信公众号
1.阶乘是基斯顿·卡曼(Christian Kramp,1760~1826)于 1808 年发明的运算符号。阶乘用感叹号表示,比如6的阶乘, 6!= 1*2*3*4*5*6=720。求正整数n的阶乘 n!
result = 1
n = 6
for i in range(1,n+1):
result = result * i
print(result)
2.《孙子算经》是重要的古代汉族数学著作。约成书于1500年前,卷下第31题,是后世“鸡兔同笼”题的始祖。“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”
for i in range(1,35):
for j in range(1,35):
if i+j ==35 and i*2 + j*4 == 94:
print(i,j,i*2,j*4)
3.程大位我国明代数学家,珠算发明家。在他的著作《算法统宗》有一道题,“一百馒头一百僧,大僧三个更无争,小僧三人分一个,大小和尚各几丁”,就是说100个和尚100个馒头,大和尚吃3个馒头,3个小和尚吃一个馒头。
for i in range(1,100):
for j in range(1,100):
if i+j ==100 and i*3 + j/3 == 100:
print(i,j,i*3,j/3)
4.假设还是100个和尚100个馒头,壮年和尚吃5个馒头,老年和尚吃3个馒头,2个小和尚吃一个馒头。用python求壮年和尚、老和尚、小和尚的人数。
for i in range(1,100):
for j in range(1,100):
for k in range(1,100):
if i+j+k ==100 and i*5 + j*3 +k/2 == 100 and j > i:
print(i,j,k,i*5,j*3,k/2)
5.猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,看见只剩下一个桃子了。求第一天共摘了多少。
x2 = 1
for day in range(9,0,-1):
x1 = (x2 + 1) * 2
x2 = x1
print(x2)
6.有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if( i != k ) and (i != j) and (j != k):
print('%d%d%d'%(i,j,k))
7.如下图,打印出99乘法表。
for i in range(1,10):
for j in range(1,i+1):
print('%d*%d=%d ' % (i,j,i*j),end = '')
print()
8. 用python打印如下菱形。
n=6
for i in range(1, n+1):
print(' ' * (n - i), end="")
for j in range(1, 2 * i):
print('*', end="")
print()
for i in range(n-1, 0, -1):
print(' ' * (n - i), end="")
for j in range(1, 2 * i):
print('*', end="")
print()
这题稍微有些难度,不过难点是在每行“*”的个数和位置的数学推导,python的语法并不难。建议可以用excel添加上行号,列号帮助理解。