您的位置:首页 > 其它

算法训练 最大最小公倍数

2018-02-04 18:17 197 查看
a6ca

package suanfaxunlian;

import java.util.Scanner;

/*
* 问题描述
已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。

输入格式
输入一个正整数N。

输出格式
输出一个整数,表示你找到的最小公倍数。
样例输入
9
样例输出
504
数据规模与约定
1 <= N <= 106。
*/

/*
* 当n为奇数时,答案一定是n*(n-1)*(n-2)。
* 当n为偶数时,答案可能是(n-1)*(n-2)*(n-3),也可能是n*a*b,其中a>=n-3。
*/
public class Test2 {

public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
long n=sc.nextLong();
long result=0;
if(n<=2)
result=n;
else if(n%2==1){
result =n*(n-1)*(n-2);

}else if(n%3==0){
result=(n-3)*(n-2)*(n-1);
}else{
result=n*(n-1)*(n-3);
}

System.out.println(result);

}
public int gcd(int a,int b){//最大公约数
if(a==0){
return b;
}else{
return gcd(b%a,a);
}
}
public int lcm(int a,int b,int g){//最小公倍数
return a*b/g;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: