您好,这是我第一次在这里提出问题,我阅读了指南,我确实在寻找答案但没有找到答案,所以我希望我的问题在指南之内。无论如何,我被困在一个简单的 Java 练习中,我必须输出前 N 个完美数(在数论中,一个完美数是一个正整数,它等于它的正确正除数之和,即它的和不包括数字本身的正除数(也称为等分总和)。)所以我这样做了
import java.util.Scanner;
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int cont = 0;
int num = 1;
int soma = 0;
System.out.println("Quantos números perfeitos?");
int n = in.nextInt();
while (cont < n) {
for (int i = 1; i <= num / 2; i++) {
if (num % i == 0) {
soma = soma + i;
}
}
if (num == soma) {
System.out.println(num + " é perfeito.");
cont++;
}
num++;
}
}
它陷入了无限循环,我不知道为什么。无论如何,如果有人可以帮助我,我会非常感激,如果我的问题已经得到解答,或者这只是一个愚蠢的问题,对不起,正如我所说,这是我第一次问。谢谢你。