欧拉
来源:互联网 发布:面试什么是java线程池 编辑:程序博客网 时间:2024/04/20 11:46
诸多东西就不证明了
欧拉函数:
设n为正整数,以 φ(n)表示不超过n且与n互质的正整数的个数,称为n的欧拉函数值。
以下代码就是求互质的个数:#include<cstdio>using namespace std;int ok(int n){ int ans=n; for(int i=2;i*i<=n;i++) { if(n%i==0) { ans-=ans/i; while(n%i==0) n/=i; } } if(n>1) ans-=ans/n; return ans;}int main(){ int n; printf("%d\n",ok(n));}
欧拉筛法:
求n以下的所有质数。
1.设pr[i]为i最小质因子,然后从2开始计算
2.如果pr[i]没有在前面得到,就说明i是质数,所以pr[i]=i,prime[++len] = i。
void find(int n){ sp = 0; //有多少个质数 for(int i = 2;i <= n;i++) { if(!pr[i]) //如果没有在前面得到,说明是质数 { prime[++sp] = i; //质数数目+1,记录下这个数是质数 pr[i] = i; } for(int j = 1;j <= sp && i * prime[j] <= n;j++) //过一下之前筛到的质数 { pr[i*prime[j]] = prime[j];// i*prime[j]是个合数 if(prime[j] >= pr[i]) break; //pr[i]存的是i的最小质因数 如果轮到的质数大于这个数的最小质因数,则证明这个数已被筛到过,break } }}
最后,强调一下
·欧拉函数得到与N互质的数的个数;
·而欧拉线性筛则是N以下的的所有质数。
0 0
- 欧拉
- 欧拉
- 欧拉
- 欧拉
- 欧拉
- 欧拉回路 欧拉通路 欧拉回路图
- 欧拉图 欧拉回路 欧拉通路
- 欧拉函数与欧拉定理
- 欧拉回路与欧拉道路
- 欧拉函数与欧拉定理
- 欧拉道路 和 欧拉回路
- 欧拉函数&&欧拉定理
- 欧拉定理,欧拉函数
- 欧拉回路,欧拉道路
- 欧拉回路以及欧拉路径
- 欧拉路径&&欧拉回路
- 欧拉回路与欧拉道路
- 欧拉回路、欧拉路径
- 扎实的java基础怎么炼成
- mybatis3--1.mybatis框架原理
- new和override关键字
- sqlmap 简单记
- 设计模式之抽象工厂模式
- 欧拉
- 通过指定数组里面的val值来删除元素-------在无法通过index的情况下
- Vue.js 仿 Select 下拉框
- C++ Primer Chapter 13-2
- 百度前端面试题汇总及答案
- 项目需求 找到产品的核心价值
- Java基本数据类型_Boolean
- 在Mac OS X上安装使用lazarus 1.6.4
- C++ Primer Chapter 13-3