US Bee 2021-04-06 16:30 采纳率: 89.5%
浏览 55
已结题

水仙花数问题,输出不停止,一直输出1

import java.util.Scanner;
//水仙花数是指一个N位正整数(7≥N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 要求编写程序,计算所有N位水仙花数。
public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int N = scanner.nextInt();
        double x;
        double temp = 0;
        for (double i = Math.pow(10,N-1); i < Math.pow(10,N)-1 ; i++) {
            double sum = 0;
            temp = i;
            for (int j = 0; j < N; j++) {
                x = (int)i%10;
                sum = (int)sum + (int)Math.pow(x,N);
                i = (int)i/10;
            }
            if ((int)sum==(int)temp){
                System.out.println((int)temp);
            }
        }

    }
}
  • 写回答

2条回答 默认 最新

  • 落叶晚秋 2021-04-06 16:54
    关注

    i = (int)i/10;导致死循环了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月26日
  • 已采纳回答 8月18日

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题