互質 —— CF Round #146 (Div. 2)

分情況討論。相鄰兩個數必然互質,相鄰三個數構成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;
 }


改天編輯整理下!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章