【发布时间】:2015-11-16 11:37:10
【问题描述】:
这是我要解决的编程问题:2520 是可以除以 1 到 10 的每个数字而没有余数的最小数字。
能被 1 到 20 的所有数整除的最小正数是多少?
到目前为止,这是我的解决方案,但是答案每次都为零,所以我认为我的代码有错误。任何帮助将不胜感激。
public static boolean isDiv(int num){
boolean isDiv = false;
for (int i = 1; i <= 20; i++){
if (i == 20){
isDiv = true;
}
if ((num % i) == 0){
continue;
}
else {
break;
}
}
return isDiv;}
public static int smallMulti(int num){
boolean div = isDiv(num);
int answer = 0;
for (int i = num; num < 2520; i--){
if (div = true){
answer = i;
}
}
return answer;}
【问题讨论】:
-
因为它很可能不在
Integer.MIN_VALUE-2520的范围内,这是您要检查的范围。 -
不,你不是。
num < 2520; i--。您很可能不会进行一次迭代。 -
实际上你循环直到
i溢出负数并且等于Integer.MAX_VALUE。你也永远不会重新分配div。 -
for (int i = num; num
-
if (div = true)请重新检查您的 Java 书籍,了解比较内容。