打印水仙花数

题目描述
打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。 
例如:153是一个水仙花数,因为153=1^3+5^3+3^3。
 Output:
153
???
???
??? 
输入
无
输出
所有的水仙花数,从小的开始。 每行一个
样例输入
样例输出


恩恩好吧
浏览 1829回答 3
3回答

时光作祟不予歌

我的这样行不行?num = int(input("请输入一个三位数:")) # 分别求出三位数的个位,十位,百位 gw = int(str(num)[2]) sw = int(str(num)[1]) bw = int(str(num)[0]) # 定义变量total,保存各位数字立方和 total = gw ** 3 + sw ** 3 + bw ** 3 print(total) # 用if语句判断条件是否成立,并做出相应的输出     # 补全代码 if total == num:     print("是水仙花数") else:     print('不是水仙花数')

cyanist

public class Shuixian{    public static void main(String[] args) {        int x = 0;        //定义水仙花数个数        for(int i=100;i<=999;i++){            int b = i/100;        //取得百位数            int s = (i-100*b)/10;        //取得十位数            int g = (i-s*10-b*100);        //取得个位数            if(i==g*g*g+s*s*s+b*b*b){                x++;                 System.out.print(i);                System.out.println(" ");        //换行        }        }        System.out.println("水仙花数共有"+x+"个");    //输出水仙花数的总数    }}运行结果:153 370 371 407 水仙花数共有4个

qq___524

public class problem{ public static boolean fun(int x){//判断是不是水仙花数 int a, b, c; a = x/100;//百位 b = (x/10)%10;//十位 c = x%10;//个位 a = a*a*a; b = b*b*b; c = c*c*c; return  (a+b+c == x); } public static void main(String[] args){ int i; for (i = 100; i < 1000; i++){//遍历所有的三位数 if (fun(i)){ System.out.println(i); } } } }身边设备有限,我没有编译,应该没太大问题
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java