实例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(" 第%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)