A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王怡然 黑马帝   /  2012-4-18 00:56  /  1557 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. /*
  2.         打印出所有的"水仙花数"。
  3.         所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
  4.         153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
  5.         提示:
  6.         1:采用循环取得所有的三位数。(三位数指的是100-999之间的数)。
  7.         2:把每个三位数的个位,十位,百位进行分解。

  8. */

  9. class Demo8
  10. {
  11.         public static void main(String[] args)
  12.         {
  13.                 //定义三个变量用来存储个位十位百位的数;
  14.                 int ge = 0;//用个位%10得出个位的数;
  15.                 int shi = 0;//用十位/10%10得出十位;
  16.                 int bai = 0;//用百位/100得出百位;
  17.                 //定义一个三方变量用来存储正确的值;
  18.                 int temp = 0;
  19.                 for ( int x = 100 ; x <= 999 ; x++ )
  20.                 {
  21.                         if ( x%10==0 && (x/10)%10==0 && x/100==0)
  22.                         {
  23.                                 temp = x;
  24.                         }
  25.                         System.out.println(temp);
  26.                 }
  27.         }
  28. }
复制代码

4 个回复

倒序浏览
今天是咋的了,连续碰到水仙花数~
  1. public class ShuiXianHua
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 for(int i=100; i<=999; i++)
  6.                 {
  7.                         int a = i/100;
  8.                         int b = i/10%10;
  9.                         int c = i%10;
  10.                         if(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)==i)
  11.                                 System.out.println(i+"是水仙花数");
  12.                 }
  13.         }
  14. }
复制代码
回复 使用道具 举报
本帖最后由 王怡然 于 2012-4-18 01:04 编辑
张卯 发表于 2012-4-18 00:57
今天是咋的了,连续碰到水仙花数~
  1. public class ShuiXianHua

  2. {

  3.         public static void main(String[] args)

  4.         {

  5.                 for(int i=100; i<=999; i++)

  6.                 {

  7.                         int a = i/100;

  8.                         int b = i/10%10;

  9.                         int c = i%10;

  10. <font style="background-color: red;">                       if(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)==i)//能用其他的方法说说吗?我不想看调用函数的操作;
  11. </font>
  12.                                 System.out.println(i+"是水仙花数");

  13.                 }

  14.         }

  15. }
复制代码
回复 使用道具 举报
public class ShuiXianHua
{
      public static void main(String[] args)
       {
                for(int i=100; i<=999; i++)
                {
                        int a = i/100;
                        int b = i/10%10;
                        int c = i%10;
                        if(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)==i)
                                System.out.println(i+"是水仙花数");
                }
        }
}

其中Math.pow(a,b)表示的结果是b个a相乘的结果,
回复 使用道具 举报
public class ShuiXianHua {
public static void main(String[] args) {
     int b1, b2, b3;
     for(int m=101; m<1000; m++) {
      b3 = m / 100;          //百位数
      b2 = m % 100 / 10;//十位数
      b1 = m %    10;      // 个位数
      if((b3*b3*b3 + b2*b2*b2 + b1*b1*b1) == m) {
      System.out.println(m+"是一个水仙花数"); }
     }
}
}
简单明了,一看即会

评分

参与人数 1黑马币 +1 收起 理由
刘定华 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马