gpt4 book ai didi

java - 使用 Java 打印 1-100 之间的完美数字

转载 作者:行者123 更新时间:2023-11-30 01:55:52 26 4
gpt4 key购买 nike

我不知道我的代码有什么问题。它应该打印 1 到 100 之间的所有完美数字。我尝试使用嵌套 for 循环、do while 循环和 for 循环。但是,代码似乎不正确。

class CompProject1
{

public static void main()

{

int num, sum=0;

int i;

for(num=1; num<100; num++)

{

for(int j = 1; j<=num ; j++)

{

if(num%j==0)

{

sum = sum+j;

}

}

if(sum==num)

{

System.out.println(sum);

}
}
}
}

最佳答案

将代码更改为:

public static void main(String[] s1) throws Exception {
int num, sum = 0;
int i;
for (num = 1; num < 100; num++) {
for (int j = 1; j <= num - 1; j++) { // change made here
if (num % j == 0) {
sum = sum + j;
}
}
if (sum == num) {
System.out.println(sum);
}
sum = 0; // change made here
}

}

要点:

  1. 完成内部迭代后将 sum 重置为 0
  2. 在你的内部 for循环中,你需要检查是否直到num - 1而不是num,因为每个数字都可以被自己整除

关于java - 使用 Java 打印 1-100 之间的完美数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54538708/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com