博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
看破欧拉函数的奥秘
阅读量:5077 次
发布时间:2019-06-12

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

 

 

摘自百度百科

注意以下三个特殊性质

这里写图片描述

编程实现

  利用欧拉函数和它本身不同质因数的关系,用筛法计算出某个范围内所有数的欧拉函数值。

1 //直接求解欧拉函数   2 #include
3 int euler(int n){ //返回euler(n) 4 int res=n,a=n; 5 for(int i=2;i*i<=a;i++){
//从小到大尝试n的质因数 6 if(a%i==0){
//如果i是n的质因数 7 res=res/i*(i-1);//提了一个1/i出来,先进行除法是为了防止中间数据的溢出 8 while(a%i==0) a/=i;//欧拉函数只记算一种质因数 9 } 10 } 11 if(a>1) res=res/a*(a-1);//如果最后还剩因子 12 return res; 13 }14 int main(){15 int x;16 scanf("%d",&x);17 printf("%d",euler(x));18 return 0;19 }
1 //筛选法打欧拉函数表    2 #include
3 #define Max 1000001 4 int euler[Max]; 5 void Init(){ 6 euler[1]=1; 7 for(int i=2;i

 

转载于:https://www.cnblogs.com/ECJTUACM-873284962/p/6536563.html

你可能感兴趣的文章
WPF Layout 系统概述——Arrange
查看>>
PIGOSS
查看>>
软件目录结构规范
查看>>
解决 No Entity Framework provider found for the ADO.NET provider
查看>>
设置虚拟机虚拟机中fedora上网配置-bridge连接方式(图解)
查看>>
ES6内置方法find 和 filter的区别在哪
查看>>
Android实现 ScrollView + ListView无滚动条滚动
查看>>
java学习笔记之String类
查看>>
UVA 11082 Matrix Decompressing 矩阵解压(最大流,经典)
查看>>
硬件笔记之Thinkpad T470P更换2K屏幕
查看>>
蓝桥杯-分小组-java
查看>>
Android Toast
查看>>
iOS开发UI篇—Quartz2D使用(绘制基本图形)
查看>>
docker固定IP地址重启不变
查看>>
桌面图标修复||桌面图标不正常
查看>>
JavaScript基础(四)关于对象及JSON
查看>>
JAVA面试常见问题之Redis篇
查看>>
jdk1.8 api 下载
查看>>
getElement的几中属性介绍
查看>>
HTML列表,表格与媒体元素
查看>>