目录
一.100到200的素数
题目:判断101-200之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数.
import math
lst=[]
for i in range(100,200):
for j in range(2,round(math.sqrt(i)+1):
if i % j == 0:
continue
else:
lst.append(i)
print(len(lst))
二. 猴子偷桃
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
程序分析:按规则反向推断:猴子有一个桃子,他偷来一个桃子,觉得不够又偷来了与手上等量的桃子,一共偷了9天。
paech=1
for i in range(9):
peach=(peach+1)*2
print(peach)
三. 阶乘求和
题目:求1+2!+3!+...+20!的和。
程序分析:1+2!+3!+...+ 20!=1+2(1+3(1+4(...20(1))))
def funcation(n):
if n == 0 :
return 1
else:
return n * funcation(n-1)
lst=[]
for i in range(1,21):
s=funcattion(i)
lst.append(s)
print("1到20的阶乘相加为",sun(lst))