HDOJ 1787 GCD Again(欧拉函数)
GCD Again
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2611 Accepted Submission(s): 1090
No?
Oh, you must do this when you want to become a "Big Cattle".
Now you will find that this problem is so familiar:
The greatest common divisor GCD (a, b) of two positive integers a and b, sometimes written (a, b), is the largest divisor common to a and b. For example, (1, 2) =1, (12, 18) =6. (a, b) can be easily found by the Euclidean algorithm. Now I am considering a little
more difficult problem:
Given an integer N, please count the number of the integers M (0<M<N) which satisfies (N,M)>1.
This is a simple version of problem “GCD” which you have done in a contest recently,so I name this problem “GCD Again”.If you cannot solve it still,please take a good think about your method of study.
Good Luck!
2
4
0
0
1
1、定义
互质(relatively primeì)又叫互素。若N个整数的最大公因数是1,则称这N个整数互质。
比如8,10的最大公因数是2,不是1,因此不是整数互质。
7,10,13的最大公因数是1,因此这是整数互质。
5和5不互质,由于5和5的公因数有1、5。
1和不论什么数都成倍数关系,但和不论什么数都互质。由于1的因数仅仅有1,而互质数的原则是:仅仅要两数的公因数仅仅有1时。就说两数是互质数。1仅仅有一个因数(所以1既不是质数(素数),也不是合数),无法再找到1和其它数的别的公因数了。所以1和不论什么数都互质(除0外)。
互质数的写法:如c与m互质,则写作(c,m)=1。
小学数学教材对互质数是这样定义的:“公约数仅仅有1的两个数。叫做互质数。”
这里所说的“两个数”是指自然数。
“公约数仅仅有 1”,不能误说成“没有公约数。
”
二.欧拉函数:
1.定义:
对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。比如euler(8)=4,由于1,3,5,7均和8互质。
2.说明:
Euler函数表达通式:euler(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…(1-1/pn),当中p1,p2……pn为x的全部素因数。x是不为0的整数。
(注意:每种质因数仅仅一个。比方 12 = 2*2*3 那么 φ(12) = 12 * (1-1/2) * (1-1/3)=4 )
euler(1)=1(唯一和1互质的数(小于等于)就是1本身)。
欧拉函数性质: 1、 φ(mn) = φ(m) φ(n)
2、若n为奇数。φ(2n) = φ(n)。
欧拉公式的延伸:一个数的全部质因子之和是euler(n)*n/2。
注意:在欧拉函数中,函数值是 [ 1 , n ] 中与 n 互质数个数
#include<stdio.h> int euler(int n)//欧拉函数
{
int res=n,i;
for(i=2;i*i<=n;i++)
{
if(n%i==0)
res=res/i*(i-1);//先进行除法是为了防止中间数据的溢出
while(n%i==0)
n/=i;//保证n一定是素数
}
if(n>1)
res=res/n*(n-1);
return res;
} int main()
{
int n;
while(scanf("%d",&n)&&n!=0)
printf("%d\n",n-euler(n)-1);//题目要求小于n,故还要减去1
return 0;
}
HDOJ 1787 GCD Again(欧拉函数)的更多相关文章
- HDU 1787 GCD Again(欧拉函数,水题)
GCD Again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- hdu 1787 GCD Again (欧拉函数)
GCD Again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- hdu2588 GCD (欧拉函数)
GCD 题意:输入N,M(2<=N<=1000000000, 1<=M<=N), 设1<=X<=N,求使gcd(X,N)>=M的X的个数. (文末有题) 知 ...
- uva11426 gcd、欧拉函数
题意:给出N,求所有满足i<j<=N的gcd(i,j)之和 这题去年做过一次... 设f(n)=gcd(1,n)+gcd(2,n)+......+gcd(n-1,n),那么answer=S ...
- HDU 1695 GCD (欧拉函数+容斥原理)
GCD Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- hdu 4983 Goffi and GCD(欧拉函数)
Problem Description Goffi is doing his math homework and he finds an equality on his text book: gcd( ...
- hdu 1695 GCD(欧拉函数+容斥)
Problem Description Given 5 integers: a, b, c, d, k, you're to find x in a...b, y in c...d that GCD( ...
- HDU 1695 GCD(欧拉函数+容斥原理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1695 题意:x位于区间[a, b],y位于区间[c, d],求满足GCD(x, y) = k的(x, ...
- GCD(欧拉函数)
GCD Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissio ...
- HDU 2588 GCD(欧拉函数)
GCD Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
随机推荐
- ExtJs4 学习3 combox自动加载的例子
Ext.onReady(function() { delivery_datas = [{ "Id" : "1", "Name" : &q ...
- IIS 服务器用OFFIC 2007 组件 WORD转PDF配置记录
<system.web> <identity impersonate="true" userName="accountname" passwo ...
- 高德地图关键字搜索删除上一次搜索的Marker
方法:Marker类的 setMap(null);方法 高德是通过循环调用addmarker(i,d)方法 创建marker标记,所以我们需要 把创建的marker标记压入到一个数组,再第二次搜索 ...
- jQuery Tools:Web开发必备的 jQuery UI 库
基本介绍 jQuery Tools 是基于 jQuery 开发的网站界面库,包含网站最常用的Tabs(选项卡).Tooltip(信息提示).Overlay(遮罩.弹窗).Scrollable(滚动控制 ...
- JS生成二维码,支持中文字符
一.使用jquery-qrcode生成二维码 先简单说一下jquery-qrcode,这个开源的三方库(可以从https://github.com/jeromeetienne/jquery-qrcod ...
- tableview 重用nib cell
#import "ViewController.h" #import "NewsTableViewCell.h" #define UISCREEN_HEIGHT ...
- bzoj3583: 杰杰的女性朋友 && 4362: Graph
Description 给出一张n个点的有向图G(V,E).对于任意两个点u,v(u可以等于v),u向v的连边数为: ∑OUT(u,i) * IN(v,i),其中1<=i<=K 其中k和数 ...
- hibernate spring sturts2配置
<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hi ...
- 自动垂直居中的js
var _htmlheight; function start(){ _htmlheight=document.body.scrollHeight; resize(); /*$("#copy ...
- SaltStack Syndic配置
参考URL: http://www.ttlsa.com/saltstack/saltstack-syndic-example/ 虽然中心master看不到 minion的key 但是还是可以直接指导m ...