尤拉函式(phi)
題目描述:
已知(n),求phi(n).
輸入說明:
正整數n。
輸出說明:
輸出phi(n)。
樣例輸入:
樣例輸出:
資料範圍:
對於20%的資料,n<=10^5
對於60%的資料,n<=10^9
對於100%的資料,n<=10^18
在這裡先普及一下尤拉函式:
在數論,對正整數n,尤拉函式varphi(n)是少於或等於n的數中與n互質的數的數目。此函式以其首名研究者尤拉命名,它又稱為euler's totient function、φ函式、尤拉商數等。
例如varphi(8)=4,因為1,3,5,7均和8互質。
從尤拉函式引伸出來在環論方面的事實和拉格朗日定理構成了尤拉定理的證明。
1 #include2 #include3#define ll long long
4#define n 1000010ll
5using
namespace
std;
6ll prime[n],c[n],p[n],f[n],num,n;
7ll poww(ll a,ll b)816
return
r;17}18
intmain()
1929
}30 ll x=n;
31for(ll i=1;i<=num;i++)
3239
if(x==1)break;40
}41 ll ans=1;42
for(ll i=1;i<=num;i++)
43if(c[i])ans*=(prime[i]-1)*poww(prime[i],c[i]-1
);44
if(x>n)ans*=(x-1
);45 cout<
46return0;
47 }
濟南學習 Day 3 T1 pm
巧克力棒 chocolate time limit 1000ms memory limit 64mb 題目描述 lyk 找到了一根巧克力棒,但是這根巧克力棒太長了,lyk 無法一口吞進去。具體地,這根巧克力棒長為 n,它想將這根巧克力棒折成 n 段長為 1 的巧克力棒,然後 慢慢享用。它打算每次將一...
濟南學習 Day 4 T1 pm
幸運數字 number time limit 1000ms memory limit 64mb 題目描述 lyk 最近運氣很差,例如在 noip 初賽中僅僅考了 90 分,剛剛卡進複賽,於是它決定使 用一些方法來增加自己的運氣值。它覺得,通過收集幸運數字可以快速的增加它的 rp 值。它給幸運數字下了...
濟南學習 Day 3 T1 pm
巧克力棒 chocolate time limit 1000ms memory limit 64mb 題目描述 lyk 找到了一根巧克力棒,但是這根巧克力棒太長了,lyk 無法一口吞進去。具體地,這根巧克力棒長為 n,它想將這根巧克力棒折成 n 段長為 1 的巧克力棒,然後 慢慢享用。它打算每次將一...