gpt4 book ai didi

java - "Magic Number"java练习

转载 作者:行者123 更新时间:2023-11-30 09:31:07 30 4
gpt4 key购买 nike

所以我的任务是找到一个数字范围内的所有“魔数(Magic Number)”(由用户输入)。魔数(Magic Number)是一个数,其因子(除自身外)总和等于该数。所以 6 将是一个神奇的数字,因为它除了本身之外还有 1,2 和 3,总和为 6。我已经盯着这段代码看了一段时间,但我终究无法弄清楚为什么它不会打印出来神奇的数字。任何帮助将不胜感激。

public class MagicNumber {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.print("What is the top of the range?");
int range = IO.readInt();
if (range <= 0 ) {
IO.reportBadInput();
}
int sumOfFactors = 0;
for (int i = 1 ; i <= range ; i++) {
for (int m = 1 ; m < i; m++) {
if (i % m == 0) {
sumOfFactors = sumOfFactors + m;
}
if (sumOfFactors == i) {
System.out.println(i);
}
}
}
}
}

最佳答案

您正在测试是否 sumOfFactors == i 而您仍在对因子求和。您需要将其移出 m 循环。然后你需要在每次通过 i 循环开始 m 循环之前将 sumOfFactors 设置为 0,而不仅仅是在循环开始时设置一次.

关于java - "Magic Number"java练习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12994530/

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