实例1:斐波那契数列 ****
实例2:九九乘法表 *****
实例3:所有水仙花数 *****
实例4:高空抛物 *****
实例5:猴子分桃 *****
实例6:猴子偷桃
实例7:回文数
实例8:阶乘求和
实例9:分解质因数
实例10:养 兔子
---------------------------------------------------
第一题:
斐波那契数列
斐波那契数列(Fibonacci)最早由印度数学家Gopala提出,而第一个真正研究斐波那契数列的是意大利数学家 Leonardo Fibonacci,斐波那契数列的定义,用数学函数可表示为:
1.递推法
2、递归法
----------------------------------------------------
第二题:九九乘法表
1 2 3 4 | 场景一: for 循环<br> for i in range ( 1 , 10 ): for j in range ( 1 ,i + 1 ): print ( "%d*%d=%2d" % (j,i,j * i),end = ' ' ) print (" ")<br>场景二:while<br><br>i=1<em id=" __mceDel ">while i<10:<br> j=1<br> while j<=i:<br> print(" % d * % d = % 2d "%(j,i,j*i),end=' ')<br> j+=1<br> print(" ")<br> i + = 1 < / em> |
-----------------------------------------------------------
第三题:所有水仙花数
1 2 3 4 5 6 7 | 方法一:<br> 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)<br> 1.2for i in range ( 100 , 1000 ):<br> s = str (i)<br> if i = = int (s[ 0 ]) * * 3 + int (s[ 1 ]) * * 3 + int (s[ 2 ]) * * 3 :<br> print ( "水仙花数为:" ,i)方法二:num = int ( input ( '请输入一个三位数:' ))<br> if num = = pow (num / / 100 , 3 ) + pow (num % 10 , 3 ) + pow (num / / 10 % 10 , 3 ):<br> print ( "这是一个水仙花数%d" % num)<br> else :<br> print ( "这不是一个水仙花数%d" % num)<br>方法三: for i in range ( 100 , 1000 ):<br> baiwei = i / / 100 <br> shiwei = i % 100 / / 10 <br> gewei = i % 10 <br> if i = = baiwei * * 3 + shiwei * * 3 + gewei * * 3 :<br> print ( "水仙花数为:" ,i) |
---------------------------------------------------------------
第四题:高空抛物
1 2 3 4 5 6 7 8 | 方法一:<br>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)<br>方法二: # high=200.<br># total=100<br># for i in range(10):<br># high/=2<br># total+=high<br># print(high/2)<br># 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
1 2 3 4 5 6 7 | tail = 1 #桃子剩余个数 i = 9 while i > 0 : tail = ( 1 + tail) * 2 i - = 1 print ( "剩余的桃子个数:%d" % tail) print ( "剩余的桃子个数:%d" % tail) |
方法二:
---------------------------------------------------------------------------
实例7:回文数
场景二:
1 2 3 4 5 6 7 8 9 10 11 | 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:阶乘求和
1 2 3 4 5 | x = 1 y = int ( input ( "请输入要计算的数:" )) for i in range ( 1 , y + 1 ): x = x * i print (x) |
---------------------------------------------------------------------------
实例9:分解质因数
1 2 3 4 5 6 7 8 9 10 11 12 13 | 场景一: 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 以内的素数
1 2 3 4 5 6 | 方法一:<br> for i in range ( 2 , 100 ): for j in range ( 2 ,i): if i % j = = 0 : break else : print (i,end = "," ) |
------------------------------------------------------------------------------
11养兔子
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个
月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1 2 3 4 5 6 7 8 9 10 11 12 | 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) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架