找出前四位数字和后两位数字之和的平方等于数字本身的所有四位数字

时间:2019-09-24 22:16:48

标签: java math conditional-statements

我编写的程序无法正常工作,我真的不知道为什么。我将衷心感谢您的帮助。谢谢

         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);
             }
         }

因此,此程序应执行所有4位数字,前两位数字和后两位数字之和的平方应等于其自己的数字,但我不会执行任何操作。

1 个答案:

答案 0 :(得分:1)

您正在使用基于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
}