python实现水仙花数

您所在的位置:网站首页 python求水仙花数1000while python实现水仙花数

python实现水仙花数

2023-07-06 02:07| 来源: 网络整理| 查看: 265

题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

问题1:

判读一个数是否为水仙花数:

def printNarcissisticNumber(self, num): '判断一个数是否是水仙花数' num = int(num) if num < 100 or num > +1000: print("不是水仙花数") else: geWei = num % 10 baiWei = int(num / 100) shiWei = int((num - baiWei * 100) / 10) # print(geWei) # print(shiWei) # print(baiWei) sum = geWei * geWei * geWei + shiWei * shiWei * shiWei + baiWei * baiWei * baiWei if sum == num: print("%d是水仙花数" % num) else: print("不是水仙花数")问题2:

输出所有的水仙花数。

def printNarcissisticNumber(self): '判断一个数是否是水仙花数' for num in range(100, 1000): geWei = num % 10 baiWei = int(num / 100) shiWei = int((num - baiWei * 100) / 10) # print(geWei) # print(shiWei) # print(baiWei) sum = geWei * geWei * geWei + shiWei * shiWei * shiWei + baiWei * baiWei * baiWei if sum == num: print("%d是水仙花数" % num)结果:

153是水仙花数 370是水仙花数 371是水仙花数 407是水仙花数 方法二:

for n in range(100,1000): i = n / 100 j = n / 10 % 10 k = n % 10 if n == i ** 3 + j ** 3 + k ** 3: print n



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3