java多路复用程序
这是我试图解决的编程问题: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;}
# 1 楼答案
我使用lcm(最小公倍数)实现
# 2 楼答案
你把整个问题复杂化了,还犯了多个逻辑错误。基本上你只需要2个循环。这里有一个代码,用于检查在
Integer.MAX_VALUE
之前每个数字可以设计的第一个数字。如果你想更高,你可以采用代码来处理long
以下是此主菜单的示例输出
输出