本文主要是介绍【python例子】 python 计算1000以内的水仙花数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。
例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数
求1000以内的水仙花数(3位数)
网上这样的例子很多,总结3种常用的方法:
代码实现:
#coding:utf-8
#5**3 B表示5的3次方
#整除后取余数 1001%100# 方法一:
for bai in range(1,10): #百位for shi in range(0,10): #十位for ge in range(0,10): #个位i=bai*100+shi*10+geif i==bai**3+shi**3+ge**3:print(i)#方法二:将数字先转化为字符串,利用字符串索引找到百、十、个位的数字值
for i in range(100,1000):s=str(i) #将数字转化为字符串d=int(s[0]) #百位e=int(s[1]) #十位f=int(s[2]) #个位if i==d**3+e**3+f**3:print(i)#方法三:
for i in range(100,1000):
#// 使用取模,分别取出百位数、10位数、个位数
#/// k = i // 10 % 10, 需要注意运算符号和运算顺序a=i // 100 #整除获得百位数b=i //10 % 10 # 或者b = (i % 100) // 10c=i % 10 #个位数if i == a ** 3 + b ** 3 + c ** 3:print(i)
运行结果:
注意:
range() 函数创建一个整数列表,是前闭后开。
例如range(1,10),取的是1,2,3,4,5,6,7,8,9
这篇关于【python例子】 python 计算1000以内的水仙花数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!