public static void main(String[] args) {
int count = 0;
for (int i = 100; i <= 999; i++) {
double result = 0;
for (int j = 0; j < 3; j++) {
result = result + Math.pow(i % 10, 3);
i = i / 10;
}
if (result == i) {
count++;
}
}
System.out.println("水仙花数有 : " + count + "个");
}
为啥我的代码一直在第二个循环内不会跳出
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
关注 因为你 内循环 改变了 i,而 外循环是 根据 i 进行 循环的,
所以你要 把 内循环的 i 改成一个 临时变量 t, 修改如下:public static void main(String[] args){ int count = 0; for (int i = 100; i <= 999; i++) { double result = 0; int t = i; for (int j = 0; j < 3; j++) { result = result + Math.pow(t % 10, 3); t = t / 10; } if (result == i) { count++; } } System.out.println("水仙花数有 : " + count + "个"); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 删除虚拟显示器驱动 删除所有 Xorg 配置文件 删除显示器缓存文件 重启系统 可是依旧无法退出虚拟显示器
- ¥15 vscode程序一直报同样的错,如何解决?
- ¥15 关于使用unity中遇到的问题
- ¥15 开放世界如何写线性关卡的用例(类似原神)
- ¥15 关于并联谐振电磁感应加热
- ¥15 this signal is connected to multiple drivers怎么解决
- ¥60 请查询全国几个煤炭大省近十年的煤炭铁路及公路的货物周转量
- ¥15 请帮我看看我这道c语言题到底漏了哪种情况吧!
- ¥66 如何制作支付宝扫码跳转到发红包界面
- ¥15 pnpm 下载element-plus