最大最小公倍数

首先确定是从大到小开始看,然后考虑到第一个数是奇数时,奇偶奇,其中两个奇数中间差2,但奇数没有因子2。

第一个数是偶数时,n,n-1,n-2是 偶奇偶,这时候两个偶数之间一定会有公共因子2,然后需要n-2再往后推一个取n-3,即n,n-1,n-3(偶奇奇),但这时候要注意,n,n-3之间可能会有公共因子3,

这时候就需要判断n能否被3整除,如果可以,n-3也会被3整除,这样就不能取这三个数了,就不能再取n了,整体往后推一个,取n-1,n-2,n-3.

#include<iostream>
using namespace std;

int main()
{
    long long  n, ans = 0;//记得 long long
    cin>>n;
    if(n<3) ans = n;
    else if(n%2==1)
            ans = n*(n-1)*(n-2);
        else {
            if(n%3==0){
                ans = (n-1)*(n-2)*(n-3);
            }else{
                ans = n*(n-1)*(n-3);
            }
        }

    cout<<ans<<endl;
    return 0;
}
原文地址:https://www.cnblogs.com/qie-wei/p/12094118.html