num = 100 while num <= 999: a = num % 10 #取个位数 b = num // 10 % 10 #取十位数 c = num // 100 #取百位数 if num == a**3 + b**3 + c**3: print (num) num += 1 #python不支持 num++ 之类的写法
for i in range(100, 1000): ge = i % 10 shi = i // 10 % 10 bai = i // 100 if ge ** 3 + shi ** 3 + bai ** 3 == i: print(i, end=' ') #输出结果 #153 370 371 407
水仙花数是指一个n位正整数(n>=3),他得每个位上得数字得n次幂之和等于它本身(例如:1^3+5^3+3^3=153) for i in range(101,1000): #3位数得水仙花数 l = len(str(i)) #求个位.十位.百位分别是多少 #水仙花数计算公式 1^3+5^3+3^3=153 if i == ((i//100)**l + (i//10%10)**l + (i%100%10)**l): print(i)
# coding:utf-8"""水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153) 题目:求100-999之间的水仙花数"""for i in range(100,1000): a=(int(str(i)[0]))**3 b=(int(str(i)[1]))**3 c=(int(str(i)[2]))**3 if a+b+c==i:
# 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,# 其各位数字立方和等于该数本身.例如:153是一个"水仙花数",# 因为153=1的三次方+5的三次方+3的三次方.方法一:先设定百位.十位.各位都是0~9中的一个数字,再利用循环查找的方法计算: for a in range(10): for b in range(10): for c in range(10): n = a * 100 + b * 10 + c if n == a
题目: 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方. 我的源代码: # 输出所有的水仙花数: # 所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方. for i in range(100,100
打印出三位水仙花数方法及解释 num = 100while num <= 999: #这里num 小于等于999 则运行 填1000也可以 a = num % 10 #num对10取余 b = num // 10 % 10 #num对10取整在取余 c = num // 100 #num对100取整 if num == a**3 + b**3 + c**3: #如果num等于 a b c 的三次方则打印 print(num) #打印 num += 1 #最终计算完num加1 调试输出:15337
#!/usr/bin/env python# -*- coding: utf-8 -*-print("请输入三位数:")num = input()# 定义常量SumNum = 0# 1.判断当前输入的字符型的数值是否为3位数if len(num) == 3: # 判断数值是否为十进制数据,避免输入的不是数字的字符 if num.isdecimal() is True: # 字符类型for循环时,是以字符串的单个字符输出 for i in num: # 2.求每一位数的3次方的和 Sum
题目: 请判断一个数是不是水仙花数.其中水仙花数定义各个位数立方和等于它本身的三位数.输入有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)输入0表示程序输入结束.输出如果n是水仙花数就输出Yes否则输出No样例输入1531540样例输出YesNo class Shui: def __init__(self,str): self.str=str def carculate(self): n=len(self.str) sum = 0 for i in range(0,n):