分情况讨论。相邻两个数必然互质,相邻三个数构成mod3的完全剩余系。。。
如果n为奇数..n,n-1,n-2肯定两两互质。
如果n是偶数,那么就不能同时选n和n-2。。。这时候能选的最大的是n-3,但是如果n是3的倍数,n和n-3又mod3同余,这样只可以选n-1,n-2,n-3。。。
还要特判1和2
http://codeforces.com/contest/236/problem/C
http://codeforces.com/contest/236/submit
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int main(){
long long n;
while(cin>>n){
if(n==1||n==2){
cout<<n<<endl;
continue;
}
long long ans;
if(n&1)ans=n*(n-1)*(n-2);
else if(n%3)
ans=n*(n-1)*(n-3);
else ans=(n-1)*(n-2)*(n-3);
cout<<ans<<endl;
}
return 0;
}
改天编辑整理下!