1.兔子问题
有一对兔⼦,从出⽣生后第3个⽉月起,每个月都生一对兔子,小兔子长到第三个月后每个月又生⼀对兔 子,假如兔子都不不死,问第n个月的兔子总共有多少对?
import random
n=random.randint(1,100) #产生一个随机的月份
print('第%d个月'%n)
i=2
sum_rabbit=1 #初始兔子总数
sum_rabbit_old=0 #初始老兔子总数
sum_rabbit_new1=1 #初始一个月大的兔子数量
sum_rabbit_new2=0 #初始二个月大的兔子数量
if n ==1:
print(sum_rabbit)
else:
while i<=n:
temp=sum_rabbit_new1 #一个月大的兔子长成两个月的兔子,将一个月兔子的数量先放在一个变量中存起来。
sum_rabbit_old +=sum_rabbit_new2 #二个月大的兔子长成老兔子,
sum_rabbit_new1=sum_rabbit_old #老兔子生下等同数量的一个月大的兔子
sum_rabbit_new2 = temp #一个月大的兔子成两个月的兔子,将存起来的值赋给二个月的兔子
i+=1
sum_rabbit=sum_rabbit_new2+sum_rabbit_new1+sum_rabbit_new1 #兔子总量=所有类型兔子之和
print("兔子总数:",sum_rabbit)
运行结果:第39个月
兔子总数: 63245986
2.打印质素
判断101-200之间有多少个素数,并输出所有素数。
count=0
for number in range(101,201):
for x in range(2,16):
if number%x==0:
break
elif x==15: #
print(number)
count+=1
print("101-200共有素数%d个"%number)
#运行结果: 101,103,107,109,113,127,131,137,139,149
# 151,157,163,167,173,179,181,191,193,197,199
# 101-200里共有素数21个
3.打印水仙花数
打印出所有的水仙花数,所谓水仙花数是指⼀一个三位数,其各位数字⽴立⽅方和等于该数本身。例例如:153是 ⼀一个水仙花数,因为153 = 1^3 + 5^3 + 3^3
for number in range(100,1000):
a=number%10
b=number//10%10
c=number//100
if a**3+b**3+c**3==number:
print("水仙花:",number)
# 运行结果: 水仙花: 153
# 水仙花: 370
# 水仙花: 371
# 水仙花: 407
4.打印分数序列
有⼀分数序列列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列列的第20个分数 1 2 1 2 3 2 3 5 3 4 8 5 分⼦子:上⼀个分数的分子加分母 分母: 上⼀个分数的分子 fz = 2 fm = 1 fz+fm / fz
fz=2
fm=1
for i in range(1,20):
temp=fz
fz+=fm
fm=temp
print(fz,"/",fm)
# 运行结果:17711 / 10946
5.给⼀一个正整数,要求:1、求它是⼏几位数 2.逆序打印出各位数字
# 5. 给⼀一个正整数,要求:1、求它是⼏几位数 2.逆序打印出各位数字
import random
number = random.randint(1,1000000) #产生一个随机数
str_nuber = str(number) #将数字转换为字符
print("%d是%d位数"%(number,len(str_nuber)))
print(str_nuber[::-1])
# 运行结果:297867是6位数
# 768792