ACM--欧拉函数--mdd的烦恼
来源:互联网 发布:保险网络推广 编辑:程序博客网 时间:2024/05/21 14:40
南阳oj地址:点击打开链接
今天mdd看到这么一段话:在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler's totient function、φ函数、欧拉商数等。 例如φ(8)=4,因为1,3,5,7均和8互质。于是他想用计算机实现欧拉函数的功能,但是他又不想去写,你能帮帮他吗?
ps:互质(relatively primeì)又叫互素。若N个整数的最大公因数是1,则称这N个整数互质。
- 输入
- 有多组测试数据组数小于1003,
每组测试数据有一个整数n(0<n<=65535^2+1). - 输出
- 输出欧拉函数φ(n)的值。
- 样例输入
2646
- 样例输出
1222
- #include<iostream>
- using namespace std;
- int eular(long long a)
- {
- int i;
- long long tem=a;
- for(i=2;i*i<=a;i++)
- {
- if(a%i==0)
- {
- tem=tem/i*(i-1);//欧拉函数
- while(!(a%i))
- {
- a/=i;
- }
- }
- }
- if(a!=1)//a本身就是素数
- tem=tem/a*(a-1);
- return tem;
- }
- int main()
- {
- long long n;
- while(cin>>n)
- {
- if(n==0)
- break;
- cout<<eular(n)<<endl;
- }
- return 0;
- }
PS:
在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。它又称为Euler's totient、function、φ函数、欧拉商数等。 例如φ(8)=4,因为1,3,5,7均和8互质。 从欧拉函数引伸出来在环论方面的事实和拉格朗日定理构成了欧拉定理的证明。
φ函数的值 通式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,x是不为0的整数。φ(1)=1(唯一和1互质的数就是1本身)。 (注意:每种质因数只一个。比如12=2*2*3,那么φ(12)=12*(1-1/2)*(1-1/3)=4)
若n是质数p的k次幂,φ(n)=p^k-p^(k-1)=(p-1)p^(k-1),因为除了p的倍数外,其他数都跟n互质。 设n为正整数,以 φ(n)表示不超过n且与n互 素的正整数的个数,称为n的欧拉函数值,这里函数 φ:N→N,n→φ(n)称为欧拉函数。 欧拉函数是积性函数——若m,n互质,φ(mn)=φ(m)φ(n)。 特殊性质:当n为奇数时,φ(2n)=φ(n), 证明与上述类似。
参考博客:http://blog.csdn.net/lois_123/article/details/40053637
1 0
- ACM--欧拉函数--mdd的烦恼
- NYOJ - mdd的烦恼(欧拉函数)
- nyist mdd的烦恼 欧拉函数
- 333 mdd的烦恼【欧拉函数】
- NYOJ-333 mdd的烦恼【欧拉函数】
- NYOJ 题目333mdd的烦恼(欧拉函数)
- 南阳OJ 333 mdd的烦恼 欧拉函数
- acm-mdd的烦恼
- NYOJ 291 LK的数学题 和 NYOJ 333 mdd的烦恼【欧拉函数】
- POJ-20407Relatives/NYOJ-333mdd的烦恼,欧拉函数简单应用,模板A
- 333 mdd的烦恼
- mdd的烦恼
- mdd的烦恼
- mdd的烦恼
- NYOJ 333 mdd的烦恼
- nyoj 333-mdd的烦恼
- nyoj 333 mdd的烦恼
- NYOJ----333mdd的烦恼
- 浅析 Java 内部类
- SQL的COUNT调优
- 设计模式
- JAVA多线程实现的三种方式
- linux下如何安装tomcat
- ACM--欧拉函数--mdd的烦恼
- Vulkan Device and Queue --2
- 我的Android网络框架之旅(三)
- 约瑟夫问题(循环单链表求解)
- HTTP Status 404错误
- C++预处理命令
- 【重要】本科优秀毕业生应该掌握的知识或技能
- 《剑指offer》笔记(java)
- Java并发:原子变量和非阻塞同步机制