题目地址:http://codeforces.com/problemset/problem/236/C
解析:LCM(a,b,c)=a*b*c*gcd(a,b,c)/gcd(a,b)/gcd(a,c)/gcd(b,c),显然当a,b,c相邻且互质的时候是最大的。
当N小于3的时候就是本身。(特殊处理);n为奇数,则n*(n-1)*(n-2)中仅(n-1)为偶数,属于模三体系中,因此三者互质。当n为偶数,且模3为真的时候,n*(n-1)*(n-3),分别为偶、奇、奇。无论n%3==1||n%3==2三者中都没有相同的公因子3和2,因此也是互质的。当n为6的倍数的时候,(n-1)*(n-2)*(n-3)分别为奇、偶、奇,且相邻,则显然属于模三体系,即相互互质。也是最大。因此有如下代码:
#include <iostream>
using namespace std;
int main()
{
long long n;
while(cin>>n)
{
if(n<3) cout<<n<<endl;
else if(n&1) cout<<n*(n-1)*(n-2)<<endl;
else if(n%3) cout<<n*(n-1)*(n-3)<<endl;
else cout<<(n-1)*(n-2)*(n-3)<<endl;
}
return 0;
}