[数论]小于n且与n互素的个数(欧拉函数)
来源:互联网 发布:为人谋而不忠乎的读音 编辑:程序博客网 时间:2024/05/17 03:44
/*Name:小于n且与n互素的个数(欧拉函数)Actor:HTTime:2015年8月10日Error Reporte:*/#include <iostream>#include <stdio.h>#include <conio.h>#include <string.h>using namespace std;//欧拉函数://f(n) = n*TT[ 1/p * (p-1) ]//其中 p 是 n 的质因数//实现:对于每一个质因数,除p乘p-1int euler(int n){int p;int m = sqrt(n + 0.5);//m用来界定质因子的范围int ans = n;for (p = 2; p <= m; p++){if (n%p == 0){ans = ans / p * (p - 1);while (n%p == 0) n /= p;//源于唯一分解定理,排除非素}}if (n != 1) ans = ans / n*(n - 1);//如果本身也是素数,就要除一下return ans;}//筛选法求欧拉函数 O(nloglogn)int table[10000];void euler_table(int n){int i, j;for (i = 1; i <= n; i++)table[i] = i;for (i = 2; i <= n; i++){if (table[i] == i){for (j = i; j <= n; j += i){table[j] = table[j]/i*(i - 1);}}}}int main(){int n; euler_table(100);L:scanf("%d", &n);printf("%d ", table[n]);n = euler(n);printf("%d\n", n);goto L;}//欧拉函数的推导://欧拉函数 f(n) = 小于n的与n互素的数的个数(注意不是素因数)//“积性函数” F(X*Y),当且仅当 GCD(X,Y)= 1 时, F(X*Y) = F(X)* F(Y)//欧拉函数是积性函数(我也不知道为什么)//所以 根据唯一分解定理 n = p1^a1 * p2^a2 * ... * pn^an//f(n) = p(p1^a1) * p(p2^a2) * ... * p(pn^an)//对于p1^a1 其中因数的个数为 p1^a1 - p1^a1/p1 == p1^a1 * (1 - 1/p1)//f(n) = p1^a1*p2^a2... ... *(1 - 1/p1)*(1 - 1/p2)*... ...// = n * TT(1 - 1/pi) = n * TT[1/pi*(pi-1)]
0 0
- [数论]小于n且与n互素的个数(欧拉函数)
- 小于n且与n互素的整数个数(欧拉函数)的计算
- HDU 2824 欧拉函数 求小于等于n且与n互质数的个数
- 小于n且与n互素的个数(数论中的计数问题) By ACReaper
- 欧拉函数--(求小于n的整数中与n互质的个数)
- 欧拉函数的延伸:关于求小于等于n且与n互质的数的和。
- 欧拉函数,求小于等于n 的数里与 n 互质的数的个数
- 快速求小于n且与n互素的个数
- 【欧拉函数】(小于或等于n的数中与n互质的数的数目)
- UVA 12493 Stars (欧拉函数--求1~n与n互质的个数)
- UVA12493 - Stars(求1-N与N互质的个数)欧拉函数
- (Relax 数论1.7)POJ 2407 Relatives(使用欧拉函数来求[1,n]中与n互质的整数的个数)
- hdu 3501 欧拉函数(求小于n与n不互质的数之和)
- HDU5430欧拉函数求小于等于n的数中与n互质的数的数目
- hdoj 3501 【欧拉函数 求小于或者等于n的数中 与n互质的数总和】
- 【算法】欧拉函数——小于n的数中与n互质数的数目
- 欧拉函数(求与n互质的数的个数)
- 欧拉函数(求与n互质的数的个数)
- QString与string的相互转换
- 判断一周的某一天的函数接口
- MapReduce 工作机制剖析
- TCP/IP协议学习之一(以太网帧格式)
- 零基础学python-2.2 输入 input()
- [数论]小于n且与n互素的个数(欧拉函数)
- HDU 4417 Super Mario // 线段树
- Python绘制excel表格到邮件正文区并发送脚本实例
- 另类总结BRD,MRD,PRD到底是干嘛用的,有啥区别。
- Linux开关机相关命令
- muduo::Connector、TcpClient分析
- 高负载web服务器内核参数调整
- C语言中的未定义行为
- 苹果开发 笔记(59)UIButton