黑马程序员技术交流社区

标题: 如何求位数,没一点思路啊 [打印本页]

作者: 董晗    时间: 2014-12-14 00:03
标题: 如何求位数,没一点思路啊
所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。





作者: 清浅。。    时间: 2014-12-14 00:15
class Hua
{
        public static void main(String[] args)
        {
                for(int a=100; a<=999;a++)//定义a为要求的三位数
                {
                        int x=a/100%10;//表示出百位数
                        int y=a/10%10;//表示出十位数
                        int z=a%10;//个位
                        if(a==x*x*x+y*y*y+z*z*z)//水仙花的定义
                        {
                                System.out.println(a);
                        }
                }
        }
}
作者: 清浅。。    时间: 2014-12-14 00:17
清浅。。 发表于 2014-12-14 00:15
class Hua
{
        public static void main(String[] args)

看我注释的位数求法,以此类推。。。。
作者: zmhlnrs    时间: 2014-12-14 00:23
class Demo1
{
       public static void main(String[ ] args)
       {
                   for (int x=100;x<=999 ;x++ )
                   {
                           int bai=x/100;
                           int shi=(x-num*100)/10;
                           int ge=(x-num*100-z*10);
                                   int b=bai*bai*bai+shi*shi*shi+ge*ge*ge;
                                   if (b==x)
                                   {
                                           System.out.println("b="+b);
                                   }
                   }
           }
               
}
输出的就是水仙花
作者: 魏文杰    时间: 2014-12-14 00:40
class ShuiXianHuaShu{
        public static void main(String[] args) {;
                for(int i=100;i<=1000;i++){
                        int n=i;
                        int m=n;
                        int sum =0;
                        while(n!=0){
                                int last=n%10;
                                sum =sum+last*last*last;
                                n/=10;
                        }
                        if(sum==m){
                                System.out.println(m+"是水仙花数!");
                        }
                }
        }
}
这个绝对没问题!

捕获.PNG (123.18 KB, 下载次数: 73)

捕获.PNG

作者: 0_TNT_0    时间: 2014-12-14 01:16
                        int bai=a/100%10;//    表示出百位数
                        int shi=a/10%10;//     表示出十位数
                        int ge=a%10;//      个位
作者: 彭柏良    时间: 2014-12-14 08:29
  1. /*
  2.         需求:在控制台输出所有的“水仙花数”
  3.         分析:
  4.         水仙花数:指一个三位数,其各位数字的立方和等于该数本身。
  5.         1、确定范围:100 ~ 999
  6.         2、获取三位数的个、十、百上的数字。
  7.                 以153为例:
  8.                 ge: 153%10 = 3
  9.                 shi: 153/10%10 = 5;
  10.                 bai: 153/10/10%10 = 1;
  11. */
  12. class WaterFlower
  13. {
  14.         public static void main(String[] args)
  15.         {
  16.                 //遍历取数范围
  17.                 for(int x = 100; x<1000; x++)
  18.                 {
  19.                         //个位
  20.                         int u = x%10;
  21.                         //十位
  22.                         int t = x/10%10;
  23.                         //百位
  24.                         int h = x/10/10%10;
  25.                         if(x == (u*u*u + t*t*t+ h*h*h))
  26.                         {
  27.                                 //如果相同,就把该数输出到控制台
  28.                                 System.out.println("x="+x);
  29.                         }
  30.                 }
  31.         }
  32. }
复制代码

作者: 擒贼先擒王    时间: 2014-12-14 08:46
二位以上的数有没有可能满足水仙花数的条件,应该叫什么数?
作者: c91764000    时间: 2014-12-14 09:02
来向各位大神学习下!
作者: 菜鸟一号    时间: 2014-12-14 09:19
亲,看前两天的贴子吧,都有
作者: 董晗    时间: 2014-12-14 15:59
清浅。。 发表于 2014-12-14 00:15
class Hua
{
        public static void main(String[] args)

嗯,取余,谢谢哈
作者: 董晗    时间: 2014-12-14 16:02
魏文杰 发表于 2014-12-14 00:40
class ShuiXianHuaShu{
        public static void main(String[] args) {;
                for(int i=100;i

好了,弄出来了谢谢哈
作者: 董晗    时间: 2014-12-14 16:04
擒贼先擒王 发表于 2014-12-14 08:46
二位以上的数有没有可能满足水仙花数的条件,应该叫什么数?

不知道啊。。。
作者: 魏文杰    时间: 2014-12-14 23:35
董晗 发表于 2014-12-14 16:02
好了,弄出来了谢谢哈

不客气。。。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2