hdu 2824欧拉函数(晒法模板)

来源:互联网 发布:小说api接口知乎 编辑:程序博客网 时间:2024/05/21 03:27

点击打开链接

#include <iostream>#include <algorithm>#include <cmath>using namespace std;typedef long long ll;const int N=3e6+20;ll phi[N+20];void Euler(){//Euler(n)=n*(1-1/p1)*(1-1/p2)...(1-1/pn)//通分=n*((p1-1)/p1)*((p2-1)/p2)...((pn-1)/pn)for(int i=2;i<=N;i++)phi[i]=i;phi[1]=1;for(int i=2;i<=N;i++){if(phi[i]==i)//i是素因子{phi[i]=i-1;//for(int j=i+i;j<=N;j+=i)//j含有素因子i {phi[j]=phi[j]/i*(i-1); }}  }}int main(){ll a,b;Euler();while(cin>>a>>b){ll ans=0;for(int i=a;i<=b;i++)ans+=phi[i];cout<<ans<<endl;}return 0;}


0 0
原创粉丝点击