【发布时间】:2020-04-10 16:18:14
【问题描述】:
在这段特定的代码中,它如何不输出 6 1,因为 6 除以 18 没有余数。
int n = 18;
int[] fact = new int[100];
int[] pow = new int[100];
int d = 0;
for (int i = 2; i <= n; i++)
{
int s = 0;
while(n % i == 0)
{
s++;
n /= i;
}
if (s > 0)
{
fact[d] = i;
pow[d] = s;
d++;
}
}
【问题讨论】:
-
"6 除以 18 没有余数" 你的意思是 6 除以 18 还是 18 除以 6?前者给出的余数为 6,而后者给出的余数为 0。
-
已修复,感谢指出!
-
我建议你添加一些打印语句来看看发生了什么。我不清楚代码在做什么。
-
我会从使用固定大小的数组切换到添加值的列表。
-
我添加了打印语句,但这并没有向我解释这个过程