分情況討論。相鄰兩個數必然互質,相鄰三個數構成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;
}
改天編輯整理下!