版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ghscarecrow/article/details/84674272
问题描述
已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。
输入格式
输入一个正整数N。
输出格式
输出一个整数,表示你找到的最小公倍数。
样例输入
9
样例输出
504
数据规模与约定
1 <= N <= 106。
思路:
三个连续相连的自然数为互质数
题解如下
import java.util.Scanner;
public class MaxLCM {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long n = sc.nextLong();//不知为何,蓝桥杯的oj居然有个95152的测试数据,,,所以需要改成long整型变量
long ans;
if(n<3){
ans = n;
} else if((n%2)!=0){
//为奇数
ans = n * (n-1) * (n-2);
} else {
//为偶数
if((n%3) != 0){
//不是3的倍数
ans = n * (n-1) * (n-3);
} else {
ans = (n-1) * (n-2) * (n-3);
}
}
System.out.println(ans);
sc.close();
}
}