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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 柏涛 中级黑马   /  2013-12-27 11:23  /  1100 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看下面的代码啊,为什么结果只有407,而其他几个数打不出来呢
class demo
{
        public static void main(String[] args)
        {
                int a,b,c, d;
                for (int i=100;i<=999 ;i++ )
                {
                                a=i/100;
                                b=i/10%10;
                                c=i%100;
                                d=a*a*a+b*b*b+c*c*c;
            if ( d==i)
                    {
                        System.out.println("d="+d);
                    }
        }
               
}
}

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

5 个回复

倒序浏览
想问楼主,你想要的是什么结果,你这样写的话你的结果 当 d == i 是 只有407 啊
回复 使用道具 举报
楼主 我帮你看了一下  个位那里弄错了
代码我给出来了
  1. package com.mth.test;

  2. class Test {
  3.         public static void main(String[] args) {
  4.                 int a, b, c, d;
  5.                 for (int i = 100; i <= 999; i++) {
  6.                         a = i / 100;
  7.                         b = i / 10 % 10;
  8.                         c = i % 10;
  9.                         d = a * a * a + b * b * b + c * c * c;
  10.                         if (d == i) {
  11.                                 System.out.println("d=" + d);
  12.                         }
  13.                 }

  14.         }
  15. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 ily521125 于 2013-12-27 13:05 编辑

楼主十位b值和个位c值写错了,b值应该是 i 先对100取余再除以10;c值应该是 i 直接对10取余
即:b=i%100/10;
       c=i%10;
回复 使用道具 举报
  1. public class Zuoye03 {
  2.         public static void main(String[] args){
  3. //                题目:打印出所有的 "水仙花数 ",
  4. //                所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。
  5. //                例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
  6.                 for(int i=100 ;i<999;i++){
  7.                         int a = i%10;
  8.                         int b = (i/10)%10;
  9.                         int c = i/100;
  10. //                        if(i==(a*a*a+b*b*b+c*c*c)){
  11. //                                System.out.print(i);
  12. //                        }
  13.                         if(i==(Math.pow(a, 3)+Math.pow(b, 3)+Math.pow(c, 3))){
  14.                                 System.out.println(i);
  15.                         }
  16.                 }
  17.         }
  18. }
复制代码

你看看
回复 使用道具 举报
a=i%10;   b=i/10%10;   c=i/10/10%10;  d=a*a*a+b*b*b+c*c*c
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马