加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱故事小小网_铜陵站长网 (http://www.0562zz.com/)- 视频终端、云渲染、应用安全、数据安全、安全管理!
当前位置: 首页 > 教程 > 正文

借助for循环实现判定是水仙花数

发布时间:2021-11-12 17:35:02 所属栏目:教程 来源:互联网
导读:根据PHP编程网_黄冈站长网 Www.0713Zz.Com报道 水仙花数业内的大家可能听说过,但是对于初学者来讲,对于水仙花数还是比较陌生的。 首先要知道的是水仙花数的计算公式:153=1**3+5**3+3**3: 如何去判定这个数是否为水仙花数,最好的办法就是用for内嵌循环了
 
根据PHP编程网_黄冈站长网 Www.0713Zz.Com报道

水仙花数业内的大家可能听说过,但是对于初学者来讲,对于水仙花数还是比较陌生的。
 
首先要知道的是水仙花数的计算公式: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的话那么他就是水仙花数!

(编辑:我爱故事小小网_铜陵站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读