hdu 1286:新しい友達を探す(数論、オラ関数)
5730 ワード
新しい友達を探す
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7001 Accepted Submission(s): 3643
Problem Description
新年はもうすぐ着いて、“ブタの頭は協会を手伝います”は1つのパーティーをするつもりで、すでに既存の会員のN人を知っていて、会員を1からNまで番号をつけて、その中の会長の番号はN番で、会長と古い友达で、それではこの会員の番号はきっとNと1より大きい公約数があって、さもなくばすべて新しい友达で、今会長はいったい何人の新しい友达がいることを知りたいですか?プログラムを作って会長の計算を手伝ってください.
Input
1行目は、テストデータのグループ数CN(Case number,1
Output
Nごとに、新しい友达の人数を出力し、CN行の出力を共有します.
Sample Input
2 25608 24027
Sample Output
7680 16016
Author
SmallBeer(CML)
Source
杭電ACM合宿チーム訓練試合(VII)
Recommend
lcy | We have carefully selected several similar problems for you:
1215
1406
1787
1211
3792
数論、オーラ関数.
題意はあなたに1つの数をあげて、この数と互いに質の数の数を求めることです.
これはオーラ関数の応用であり,オーラ関数の役割は1つの数とその相互質の数の個数を求めることである.
私たちの実験室のある品物のオーラ関数の原理を聞いて、自分で一度実現して、結果は穴の中に落ちたことを発見しました.さっそくテンプレートをセットしましょう.どうせ原理がわかりました.
関連知識:
せきぶんかんすう オーラ関数
コード:
Freecode : www.cnblogs.com/yym2013
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7001 Accepted Submission(s): 3643
Problem Description
新年はもうすぐ着いて、“ブタの頭は協会を手伝います”は1つのパーティーをするつもりで、すでに既存の会員のN人を知っていて、会員を1からNまで番号をつけて、その中の会長の番号はN番で、会長と古い友达で、それではこの会員の番号はきっとNと1より大きい公約数があって、さもなくばすべて新しい友达で、今会長はいったい何人の新しい友达がいることを知りたいですか?プログラムを作って会長の計算を手伝ってください.
Input
1行目は、テストデータのグループ数CN(Case number,1
Output
Nごとに、新しい友达の人数を出力し、CN行の出力を共有します.
Sample Input
2 25608 24027
Sample Output
7680 16016
Author
SmallBeer(CML)
Source
杭電ACM合宿チーム訓練試合(VII)
Recommend
lcy | We have carefully selected several similar problems for you:
1215
1406
1787
1211
3792
数論、オーラ関数.
題意はあなたに1つの数をあげて、この数と互いに質の数の数を求めることです.
これはオーラ関数の応用であり,オーラ関数の役割は1つの数とその相互質の数の個数を求めることである.
私たちの実験室のある品物のオーラ関数の原理を聞いて、自分で一度実現して、結果は穴の中に落ちたことを発見しました.さっそくテンプレートをセットしましょう.どうせ原理がわかりました.
関連知識:
せきぶんかんすう オーラ関数
コード:
1 #include <iostream>
2 #include <cmath>
3 using namespace std; 4 int Ealer(int x) 5 { 6 int i,res = x; 7 for(i=2;i<(int)sqrt(x*1.0)+1;i++) 8 if(x%i==0){ 9 res = res / i * (i-1); 10 while(x%i==0) 11 x/=i; // i
12 } 13 if(x>1) res = res/x*(x-1); 14 return res; 15 } 16 int main() 17 { 18 int cn; 19 cin>>cn; 20 while(cn--){ 21 int n; 22 cin>>n; 23 cout<<Ealer(n)<<endl; 24 } 25 return 0; 26 }
Freecode : www.cnblogs.com/yym2013