51nod1262 扔球(尤拉函式)
題目連結:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1262
題意;從圓上一點扔一個球,經過n次反彈第一次回到起點;
分析:
設地點為S,經過n次反彈回到起點S 則說明走過了n+1條邊
設每次可以走a條邊 則 GCD(a,n+1)=1 LCM(a,n+1)=a*(n+1);即a,n+1互質;
反證:若GCD(a,n+1)=d,LCM(a,n+1)=a*(n+1)/d;則說明每步最少要走(n+1)/d條邊,
經過(n+1)/d-1此反彈回到起點 (n+1)/d-1<n (d>=2)時, 因此題目的方案數即為1,n+1內
有多少個數與n+1互質,即n+1的尤拉函式值。
程式碼如下:
#include <iostream>
using namespace std;
int phi(int n)
{
int rea = n;
for(int i=2;i*i<=n;i++){
if(n%i==0){
rea =rea - rea / i;
while(n%i==0)
n/=i;
}
}
if(n>1)
rea= rea - rea / n;
return rea;
}
int main()
{
int n;
while(cin>>n){
cout<<phi(n+1)<<endl;
}
return 0;
}
相關文章
- 尤拉函式φ函式
- 尤拉函式入門函式
- 淺談尤拉函式函式
- 尤拉函式的應用函式
- 尤拉函式性質和模版函式
- 轉載:尤拉函式知識點總結及程式碼模板及尤拉函式表函式
- B.日記和尤拉函式函式
- Note -「因數的尤拉函式求和」函式
- [藍橋杯][演算法提高VIP]尤拉函式演算法函式
- 紫書 例題 10-27 UVa 10214(尤拉函式)函式
- §3. 復變數的指數函式·尤拉公式變數函式公式
- 尤拉計劃700:尤拉幣
- 尤拉函式、整除分塊和擴充套件歐幾里得函式套件
- 51nod 3145 扔球遊戲遊戲
- 尤拉篩
- 尤拉方程
- 尤拉定理
- P2303 [SDOI2012] Longge 的問題(尤拉函式,推式子)函式
- 尤拉公式——真正的宇宙第一公式公式
- 素數個數 <埃式篩 && 尤拉篩>
- 尤拉降冪
- 尤拉路徑
- 尤拉公式 - 筆記公式筆記
- 【圖論】尤拉圖圖論
- 尤拉計劃622:洗牌
- 尤拉篩(線性篩)
- 尤拉序的小技巧
- 尤拉計劃698:123數
- 尤拉計劃696:麻將
- 尤拉計劃719:拆分數
- 尤拉計劃704:二項式係數中的2因數
- P7771 【模板】尤拉路徑
- 一些“尤拉路”板題
- 尤拉計劃699:三腳數
- 尤拉計劃706:三象數
- 尤拉計劃718:不可達數
- 尤拉計劃686:2的冪
- 尤拉計劃715:六元組
- 尤拉計劃709:偶數袋