为了账号安全,请及时绑定邮箱和手机立即绑定

打印水仙花数

打印水仙花数

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

3 回答

?
时光作祟不予歌

TA贡献1条经验 获得超0个赞

我的这样行不行?

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('不是水仙花数')


查看完整回答
反对 回复 2019-06-14
?
cyanist

TA贡献1条经验 获得超0个赞

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个


查看完整回答
反对 回复 2016-04-07
?
qq___524

TA贡献171条经验 获得超74个赞

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);
			}
		}
	}
}

身边设备有限,我没有编译,应该没太大问题

查看完整回答
反对 回复 2016-04-07
  • 3 回答
  • 2 关注
  • 1828 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信