找新朋友---hdu1286(欧拉函数)
2015-11-23 15:49
218 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1286
欧拉函数:对正整数n,欧拉函数是求少于n的数中与n互质的数的数目;
素数(质数)指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数.
φ函数的值 通式:φ(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)就是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), 证明与上述类似。
若n为质数则φ(n)=n-1。
利用欧拉函数和它本身不同质因数的关系,用筛法计算出某个范围内所有数的欧拉函数值。
欧拉函数和它本身不同质因数的关系:
[b]欧拉函数ψ(N)=N{∏p|N}(1-1/p)亦即:
View Code
欧拉函数:对正整数n,欧拉函数是求少于n的数中与n互质的数的数目;
素数(质数)指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数.
φ函数的值 通式:φ(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)就是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), 证明与上述类似。
若n为质数则φ(n)=n-1。
利用欧拉函数和它本身不同质因数的关系,用筛法计算出某个范围内所有数的欧拉函数值。
欧拉函数和它本身不同质因数的关系:
[b]欧拉函数ψ(N)=N{∏p|N}(1-1/p)亦即:
#include<stdio.h> int Euler(int n)///返回n以内与n互质的数的个数; { int ret=1; for(int i=2; i*i<=n; i++) { if(n%i==0) { n/=i; ret*=i-1; while(n%i==0) { n/=i; ret*=i; } } } if(n>1) ret*=n-1; return ret; } int main() { int T, n; scanf("%d", &T); while(T--) { scanf("%d", &n); printf("%d\n", Euler(n)); } return 0; }
View Code
相关文章推荐
- HackerRank "AND xor OR"
- Tomcat使用java+mysql连接池一定时间后不响应问题
- 开源分词软件
- kettle数据同步例子
- HDU 2955 Robberies
- Android开发进阶系列(三) 系统参数的获取和Broadcast
- 数据层交换和高性能并发处理(开源ETL大数据治理工具--KETTLE使用及二次开发 )
- 利用开源框架Volley来下载文本和图片。
- Android 使用存放在存assets文件夹下的SQLite数据库
- 使用框架的好处,hibernate缓存
- MySQL不支持动态表名
- SIGCHLD和waitpid的使用
- 平台数据库导入导出快捷工具说明
- Struts2常见错误-No result defined for action XXX and result input
- 一次完整的HTTP请求所经历的7个步骤
- Android Studio 快捷键
- JAVA单例模式 关于延迟加载问题
- 信息安全系统设计基础实验二报告
- D3.js 的基本用法外加一个略调皮的demo
- 杭电1599 find the mincost route