利用for循环如何判定是水仙花数
2018-06-18 02:22:44来源:未知 阅读 ()
水仙花数业内的大家可能听说过,但是对于初学者来讲,对于水仙花数还是比较陌生的。
首先要知道的是水仙花数的计算公式:153=1**3+5**3+3**3:
如何去判定这个数是否为水仙花数,最好的办法就是用for内嵌循环了,因为涉及到了公式所以很多数学逻辑不是很好的兄台,就尴尬了,其实有一个比较简单的数学逻辑来运算,如设定一个1-999的水仙花数, 程序如下:
for x in range(1,10): #百位数的计算
for y in range(1,10):#十位数的计算
for z in range(1,10):#个位数的计算
i=x*100+y*10+z*1
if x**3+y**3+z**3==i:
print(i)
那么这段代码首先是区分开来首先算出个百位,十位,个位的数,在进行下一步的判定。
举例说明:
for x in range(1,10): #外循环第一层循环 x=1
for y in range(1,10)# #内循环环第二层循环 y=1
for z in range(1,10): #第三层循环第一层循环 z=1
那么现在这个结构就是 x=1,y=1 z =1,这个三个数字分别的站位不同 x是百位,y的十位z是个位,但是我们要求是100-999的数所以下一步我们要这么做,将xyz这三个值根据站位来相乘并相加x*100+y10+z*1那么现在三个(xyz)循环是111,一个变量,方便下面的程序调用。i=x*100+y*10+z*1
我们要给这段表达式设置刚开始我们说了水仙花数的计算公式是每个值的三次方,下面我们就可以直接判定:
if x**3+y**3+z**3==i:
如果x的3次方加上y的3次方再加上z的三次方等于我们设置的变量i的话那么他就是水仙花数!
执行结果如下:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python 之 前端开发(form标签、单选框、多选框、file上传文 2019-08-13
- 利用python自动生成verilog模块例化模板 2019-08-13
- Python基础之用户交互、流程控制、循环语句 2019-07-24
- 原创:Python编写通讯录,支持模糊查询,利用数据库存储 2019-07-24
- Python homeWork-1 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash