zoukankan      html  css  js  c++  java
  • 基本欧拉函数

    证明:欧拉函数的证明暂时还不会,等会了再写吧,概念就是:n的欧拉函数是指不超过n的与n互质的数有多少个。比如与8互质的数为:1、3、5、7,所以8的欧拉函数值为4.

    求法:假设要求n的欧拉函数f(n)=n*(1-1/p1)*(1-1/p2)*...*(1-1/pm),其中p1,p2,...pm为小于等于n的n的质因子,比如10的质因子为2,5,所以f(10)=10*(1-1/2)*(1-1/5)=4.

    代码实现:

    #include<stdio.h>
    #include<string.h>
    #include<math.h>
    int a[1000001],prime[1000001];
    int main()
    {
        int i,j;
        memset(prime,0,sizeof(prime));
        prime[0]=prime[1]=-1;
        for(i=1;i<=1000000;i++)
            a[i]=i;
        for(i=2;i<=1000000;i++)
        {
            if(prime[i]==0)
            {
                for(j=i;j<=1000000;j=j+i)
                {
                    a[j]=a[j]/i*(i-1);
                    prime[j]=-1;
                }
            }
        }
        for(i=1;i<=10;i++)
            printf("%d ",a[i]);
        printf("\n");
        return 0;
    }
  • 相关阅读:
    equals方法
    StringBudilde
    日期
    system
    File类
    calender
    stringbuilder tostring
    File的三种构造方法
    Java入门——day52
    Java入门——day53
  • 原文地址:https://www.cnblogs.com/jiangjing/p/3100783.html
Copyright © 2011-2022 走看看