kajun 发表于 2021-2-2 23:02:33

水仙花数,实在看不出来是问题了

for(int i=100;i<=999;i++) {
                        int b=i/100,s=i/10%10,g=i%10;
                        System.out.println(i);
                        System.out.println(b+" "+s+" "+g);
                        if(b*b*b+s*s*s+g*g*g==i) {
                                System.out.println("--------");
                                System.out.println(i);
                        }
                }

Daniel_Zhang 发表于 2021-2-2 23:36:38

本帖最后由 Daniel_Zhang 于 2021-2-2 23:39 编辑

我不明白楼主是哪儿不明白

这是我跑的楼主的代码public class trash{
    public static void main(String[] argrs){
      for(int i=100;i<=999;i++) {
            int b=i/100,s=i/10%10,g=i%10;
            //System.out.println(i);
            //System.out.println(b+" "+s+" "+g);
            if(b*b*b+s*s*s+g*g*g==i) {
                  System.out.println("--------");
                  System.out.println(i);
            }
      }
    }
}

最后的结果为:


和 1000 以内的所有水仙花数完全吻合

楼主没有看到答案是不是因为 vscode 或者 pycharm 之类的,有显示行数限制,旧的输出结果被新的结果覆盖了,导致楼主没有看到

建议把第五行和第六行的 System.out.println 注释掉,这样就不会一下子打印很多行了{:10_248:}

jackz007 发表于 2021-2-2 23:38:15

public class Flower {
    public static void main(String[] args) {
      int b , g , i , s                                                    ;
      for(i = 100 ; i <= 999 ; i ++) {
            b = i / 100                                                      ;
            s = i / 10 % 10                                                ;
            g = i % 10                                                       ;
            if(b * b * b + s * s * s + g * g * g == i) System.out.println(i) ;
      }
    }
}
页: [1]
查看完整版本: 水仙花数,实在看不出来是问题了