已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。
输入格式输入一个正整数N。
输出格式 输出一个整数,表示你找到的最小公倍数。 样例输入 9 样例输出 504 数据规模与约定1 <= N <= 106。
代码如下:
import java.util.*; import java.math.*; /* * 已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。 */ public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); if(n<1 || n>1000000) System.exit(0); if(n<=2) System.out.println(2); BigInteger a = BigInteger.valueOf(n-1); BigInteger b = BigInteger.valueOf(n-2); BigInteger c = BigInteger.valueOf(n-3); BigInteger x = BigInteger.valueOf(n); BigInteger res; if(n%2!=0) {//奇数 res = x.multiply(a).multiply(b); System.out.println(res); } else if(n%2==0 && n%3!=0) {//偶数并且不能被3整除 res = x.multiply(a).multiply(c); System.out.println(res); } else { res = a.multiply(b).multiply(c); System.out.println(res); } in.close(); } }