实例1:斐波那契数列 ****
实例2:九九乘法表 *****
实例3:所有水仙花数 *****
实例4:高空抛物 *****
实例5:猴子分桃 *****
实例6:猴子偷桃
实例7:回文数
实例8:阶乘求和
实例9:分解质因数
实例10:养 兔子
---------------------------------------------------
第一题:
斐波那契数列
斐波那契数列(Fibonacci)最早由印度数学家Gopala提出,而第一个真正研究斐波那契数列的是意大利数学家 Leonardo Fibonacci,斐波那契数列的定义,用数学函数可表示为:

1.递推法
2、递归法
----------------------------------------------------
第二题:九九乘法表
场景一:for循环
for i in range(1,10): for j in range(1,i+1): print("%d*%d=%2d"%(j,i,j*i),end=' ') print("")
场景二:while
i=1
while i<10:
j=1
while j<=i:
print("%d*%d=%2d"%(j,i,j*i),end=' ')
j+=1
print("")
i+=1
-----------------------------------------------------------
第三题:所有水仙花数
方法一:
1.1for i in range(100,1000): s=str(i) one=int(s[-1]) ten=int(s[-2]) hun=int(s[-3]) if i == one**3+ten**3+hun**3: print(i)
1.2
for i in range(100,1000):
s = str(i)
if i == int(s[0])**3+int(s[1])**3+int(s[2])**3:
print("水仙花数为:",i)
方法二:
num = int(input('请输入一个三位数:'))
if num == pow(num // 100, 3) + pow(num % 10, 3) + pow(num // 10 % 10, 3):
print("这是一个水仙花数%d" % num)
else:
print("这不是一个水仙花数%d" % num)
方法三:
for i in range(100,1000):
baiwei=i//100
shiwei=i%100//10
gewei=i%10
if i==baiwei**3+shiwei**3+gewei**3:
print("水仙花数为:",i)
---------------------------------------------------------------
第四题:高空抛物
方法一:
high =100. sum =100 for i in range(1,11): 循环10次 high =high/2 if i==1: sum =sum sum =sum+high*2 print('high:',high)
方法二:
# high=200.
# total=100
# for i in range(10):
# high/=2
# total+=high
# print(high/2)
# print('总长:',total)
-----------------------------------------------------------------------
第五题: 猴子分桃
五只猴子分桃。半夜,第一只猴子先起来,它把桃分成了相等的五堆,多出一只。于是,它吃掉了一个,拿走了一堆; 第二只猴子起来一看,只有四堆桃。于是把四堆合在一起,分成相等的五堆,又多出一个。于是,它也吃掉了一个,拿走了一堆;......其他几只猴子也都是 这样分的。问:这堆桃至少有多少个?
方法:
#本算法从最后一个猴子进行逆向推倒
def peach(monkey=5):
pea = 4 ##最后一个猴子分完剩余的桃子
while 1:
num = pea
for i in range(monkey):
num = num + num / 4 + 1
if num % 1 != 0: ##如果分出了小数则结束内层循环
pea += 4 ##最后的桃子一定是4的整数倍
break
if num % 1 == 0: ##如果是整分 则结束
break
return pea, num
if __name__ == '__main__':
pea, num = peach()
print(pea, num)
------------------------------------------------------------------------
实例6:猴子偷桃
方法一:while
tail = 1 #桃子剩余个数
i = 9
while i > 0:
tail = (1 + tail) * 2
i -= 1
print("剩余的桃子个数:%d" % tail)
print("剩余的桃子个数:%d" % tail)
方法二:
---------------------------------------------------------------------------
实例7:回文数
场景二:
a = input("请输入数字: ")
b=len(a)
for i in range (b):
if(a[i]==a[b-i-1]):
c=1
else:
c=0
if(c==1):
print("这是回文数")
else:
print("这不是回文数")
---------------------------------------------------------------------------
实例8:阶乘求和
x = 1
y = int(input("请输入要计算的数:"))
for i in range(1, y + 1):
x = x * i
print(x)
---------------------------------------------------------------------------
实例9:分解质因数
场景一:
n=int(input("请输入需要分解的数字:"))
print("{} =".format(n),end=' ')
while n>1:
for i in range(2,n+1):
if n%i==0:
n=int(n/i)
if n==1:
print(i)
else:
print("{} *".format(i),end=' ')
break
----------------------------------------------------------------------------
实例10:100 以内的素数
方法一:
for i in range(2,100): for j in range(2,i): if i%j==0: break else: print(i,end=",")
------------------------------------------------------------------------------
11养兔子
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个
月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
month = int(input('繁殖几个月:'))
month_1 = 1
month_2 = 0
month_3 = 0
month_elder = 0
for i in range(month):
month_1,month_2,month_3,month_elder = month_3+month_elder,month_1,month_2,month_3+month_elder
print("\n第%d个月共"%(i+1),month_1+month_2+month_3+month_elder,"个兔子。")
print("其中1月兔:",month_1)
print("其中2月兔:",month_2)
print("其中3月兔:",month_3)
print("其中成年兔:",month_elder)
浙公网安备 33010602011771号