1. 程式人生 > >題解 P4388 【付公主的矩形】

題解 P4388 【付公主的矩形】

嗯,

額,

這個,

不太好組織開頭語,直接說題吧。

一個任性又喜新厭舊的她箭術過人,以稻草人練習。

需要滿足她的喜新厭舊,一~~發入~~箭穿心 n 個稻草人。

得到方案數。

關於題解:

三步走

壹:look it:

 可知:

若 gcd(i,n)=i ,為一種方案,ans++;

貳:

通過觀察以及 Microsoft Office Power Point 的幫助

可知:

若 gcd(i,n−i+1)=1 ,那麼也為一種方案,ans++;and rp--;

叄:

the third,

若gcd(i,n)=i ,那麼摧毀 n 個稻草人要加上摧毀 n/i 個稻草人的方案。

肆:嚴格的推論:

交給 dalao ,我只是一個記錄自己做題的記錄員而已。

我做了十幾年的選項分析,找規律能力早已異於常人,推規律只是瞬間的問題

that's all,thanks !

?????
the end ?

開玩笑:

 


 

 1 #include<bits/stdc++.h>
 2 
 3 using namespace std;
 4 
 5 int gcd(int a,int b)
 6 {
 7     if(a%b==0)
 8     {
 9         return b;
10
} 11 else return gcd(b,a%b); 12 } 13 int lcm(int a,int b) 14 { 15 return a*b/gcd(a,b); 16 } 17 int n,ans; 18 int main() 19 { 20 scanf("%d",&n); 21 for(register int i=1;i<=n/2;i++) 22 if(gcd(i,n)==i) 23 { 24 ans++; 25 for(register int j=2
;j<=(n/i)/2;j++) 26 if(gcd(j,(n/i)-j+1)==1) 27 { 28 ans++; 29 } 30 } 31 cout<<ans+1; 32 return 0; 33 }
View Code

關於程式碼,lcm 什麼鬼?

辣雞聊以自慰。

 說它是精華才是開玩笑

精華是它: Microsoft Office Power Point 才對

撒花 ~~~~~~~~