【蓝桥杯】算法训练 最大最小公倍数

版权声明:本文为博主原创文章,未经博主允许不得转载。 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();
		
	}

}

猜你喜欢

转载自blog.csdn.net/ghscarecrow/article/details/84674272