java - 找出前两位数字和后两位数字之和的平方等于数字本身的所有四位数字
问题描述
我的代码应该执行所有 4 位数字,前两位数字和最后两位数字之和的平方应该等于它自己的数字,但我的它什么也不做。我究竟做错了什么?
for (int i = 1000; i <= 9999; i++){
int n = i;
int remandier1, remandier2,finalanswer;
double result1=0;
while(n != 0){
remandier1 = n % 100;
remandier2 = n /100;
finalanswer = remandier1 + remandier2;
result1 = Math.pow(finalanswer, 2);
}
if (result1 == n){
System.out.println(i);
}
}
解决方案
您正在使用基于n
不同于 0 的循环,但n
在循环期间从未修改过。循环如何真正停止..循环?可能是我遗漏了一些东西,但正如我所见,n
它将永远等于i
.
while(n != 0)
{
remandier1 = n % 100;
remandier2 = n /100;
finalanswer = remandier1 + remandier2;
result1 = Math.pow(finalanswer, 2);
// add something to stop the loop
n = n - 1; // for example
}
推荐阅读
- python - 我的 CNN 图像识别模型产生波动的验证损失
- c# - 在单例类的 get 实例属性中使用 setter 是否是一种好习惯
- java - 如何在 JDL 中使用字符串值定义枚举器?
- python - Python 中的 LSTM 生成平面预测
- java - 保存和检索 v4 片段状态
- c++ - 这种尝试在 C++ 中使用更 Python 风格的装饰器是否可靠/安全
- json - 将 Pandas 数据帧作为 JSON 对象上传到 Cloud Storage
- angular - 如何在角度 7 中将数组数据插入到 ng2-google-chart 的图表中
- ruby-on-rails - 表单数据未保存到从不同控制器/视图加载的表单上的数据库
- android - 如何使用 Fastlane 供应更改发布轨道的推出百分比