博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
欧拉函数模板
阅读量:4660 次
发布时间:2019-06-09

本文共 725 字,大约阅读时间需要 2 分钟。

欧拉函数定义f(n)定义为1-n之间与n互素的数 的个数,即f(n)=n*(1-1/p1)...(1-1/pn)

代码如下:

//欧拉函数int Euler(int n){    int m=sqrt(n+0.5);    int ans=n;    for(int i=2;i<=m;i++){        if(n%i==0){            ans=ans/i*(i-1);            while(n%i==0){                n/=i;            }        }    }    if(n>1){        ans=ans/n*(n-1);    }    return ans;}//欧拉函数打表int euler[maxn];void Euler(int n){    for(int i=2;i<=n;i++){        euler[i]=0;    }    euler[1]=1;    for(int i=2;i<=n;i++){        if(!euler[i]){            for(int j=i;j<=n;j+=i){                if(!euler[j]){                    euler[j]=j;                }                euler[j]=euler[j]/i*(i-1);            }        }    }}

  

转载于:https://www.cnblogs.com/imzscilovecode/p/8847690.html

你可能感兴趣的文章
第二阶段站立会议7
查看>>
JAVA多线程
查看>>
delphi 更改DBGrid 颜色技巧
查看>>
POJ 2031 Building a Space Station
查看>>
任意阶幻方(魔方矩阵)C语言实现
查看>>
织梦教程
查看>>
杭电多校 Harvest of Apples 莫队
查看>>
C/C++心得-结构体
查看>>
函数名作为参数传递
查看>>
apt-get for ubuntu 工具简介
查看>>
数值计算算法-多项式插值算法的实现与分析
查看>>
day8-异常处理与网络编程
查看>>
Python基础-time and datetime
查看>>
shell脚本练习01
查看>>
WPF图标拾取器
查看>>
通过取父级for循环的i来理解闭包,iife,匿名函数
查看>>
HDU 3374 String Problem
查看>>
数据集
查看>>
[Leetcode] unique paths ii 独特路径
查看>>
HDU 1217 Arbitrage (Floyd + SPFA判环)
查看>>