蓝桥官网oj 最大最小公倍数

按照常理来说,最大的应该是n, n-1, n-2这三个数,如果这三个数恰好互质,那再好不过。然而恰好当n为奇数时,这三个数互质。下面来解释下为什么。首先这三个数时连续的三个数。也就是n,n-1,n-2。因为n是奇数,所以奇偶奇不可能有2这个因数。那再看3,这三个连续的数最大相差的是2,然而我们知道如果n能被3整除那n+1,n+2(减去是一样的)就不能因为没加够一个3.同理如果n能被4整除那么n+1,n+2,n+3也都不能被4整除,因为没加够一个4.证毕。
  再看若n是偶数,那很自然的想到吧n-2往后挪一个变成奇数n-3就好了。但是这里有个问题,如果n刚好能被3整除的话那么n-3也能。那就还要除去一个3.不划算。那不能挪后面的就把前面的挪一下吧。变成n-1,n-2,n-3。代码如下

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    long long int n;
    while (cin>>n)
    {
        long long int res;
        if (n%2) res=(n)*(n-1)*(n-2);
        else 
        {
            if (n%3) res=(n-1)*(n)*(n-3);
            else res=(n-1)*(n-2)*(n-3);
        }
        cout<<res<<endl; 
    }
    return 0;
} 
--------------------- 
作者:cug_ddc 
来源:CSDN 
原文:https://blog.csdn.net/cugsl/article/details/79614907 
版权声明:本文为博主原创文章,转载请附上博文链接!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值