问题描述
已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。输入格式输入一个正整数N。输出格式
输出一个整数,表示你找到的最小公倍数。
样例输入
9
样例输出
504
数据在这里插入代码片规模与约定1 <= N <= 106。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub9 // 俩个大于一的自然数互质,求3个数公倍数,如果两两互质,公倍数就是相乘10
// 1-n范围,如果n为奇数,那么n-2肯定为奇数,且n-1与这俩互质,n与n-2相差二且都是奇数肯定互质,答案就是n*n-1*n-211
// n为偶数 如果n与n-2不可以被3,那么结果n*n-1*n-3同理n-4为偶数不行,n-5结果小,都不行,选择n-1*n-2*n-312
// 前者n^3-6*n^2+5n后者n^3-6*n^2+11n-6>>>5n,11n-6,在n>1时都有后者大13
Scanner scanner=new Scanner(System.in);
long n = scanner.nextLong();
// 比较结果
long r1 = n * (n - 1) * (n - 2);
long r2 = n * (n - 1) * (n - 3); long r3 = (n - 1) * (n - 2) * (n - 3);
if (n % 2 != 0) {
System.out.print(r1);
} else {
if (n % 3 != 0) {
System.out.print(r2);
} else {
System.out.print(r3);
}
}
}
}