【模板】欧拉函数表

来源:互联网 发布:电商美工岗位说明书 编辑:程序博客网 时间:2024/05/24 06:10

题目描述:

输出1~N所有数的欧拉函数。

phi(x)=小于n的正整数中与n互质的数的数目。


样例输入:

5

样例输出:

1 1 2 2 4

数据范围:

1<=N<=5000






#include<iostream>#define Max 1000001  using namespace std;int euler[Max];int n;void Init(){    euler[1]=1;    for(int i=2;i<=n;i++) euler[i]=i;    for(int i=2;i<=n;i++)    if(euler[i]==i)//如果i是质数         for(int j=i;j<=n;j+=i)             euler[j]=euler[j]/i*(i-1);//提一个1/i,先进行除法是为了防止中间数据的溢出    return ;}int main(){    cin >>n;Init();    for(int i=1;i<=n;i++) cout <<euler[i]<<' ';    return 0;}


原创粉丝点击