如何判断两个合数一定不互素数互素

判断互质数的五种方法
判断互质数的五种方法
判断互质数的五种方法
一. 概念判断法
公约数只有1的两个数叫做互质数。根据互质数的概念可以对一组数是否互质进行判断。如:9和11的公约数只有1,则它们是互质数。
二. 规律判断法
根据互质数的定义,可总结出一些规律,利用这些规律能迅速判断一组数是否互质。
(1)两个不相同的质数一定是互质数。如:7和11、17和31是互质数。
(2)两个连续的自然数一定是互质数。如:4和5、13和14是互质数。
(3)相邻的两个奇数一定是互质数。如:5和7、75和77是互质数。
(4)1和其他所有的自然数一定是互质数。如:1和4、1和13是互质数。
(5)两个数中的较大一个是质数,这两个数一定是互质数。如:3和19、16和97是互质数。
(6)两个数中的较小一个是质数,而较大数是合数且不是较小数的倍数,这两个数一定是互质数。如:2和15、7和54是互质数。
(7)较大数比较小数的2倍多1或少1,这两个数一定是互质数。如:13和27、13和25是互质数。
三. 分解判断法
如果两个数都是合数,可先将两个数分别分解质因数,再看两个数是否含有相同的质因数。如果没有,这两个数是互质数。如:130和231,先将它们分解质因数:130=2×5×13,231=3×7×11。分解后,发现它们没有相同的质因数,则130和231是互质数。
四. 求差判断法
如果两个数相差不大,可先求出它们的差,再看差与其中较小数是否互质。如果互质,则原来两个数一定是互质数。如:194和201,先求出它们的差,201-194=7,因7和194互质,则194和201是互质数。
五. 求商判断法
用大数除以小数,如果除得的余数与其中较小数互质,则原来两个数是互质数。如:317和52,317÷52=6……5,因余数5与52互质,则317和52是互质数。Problem description
称两个正整数是互素的,当它们没有大于1的公因子的时候。比如,4与9就是互素的,尽管4与9都不是素数,但4与9只有一个公因子:1,所以它们互素。但4与22就不是互素的,因为它们有一个大于1的公因子:2。
你的任务,给你2个数,判断它们是否互素。
有多个测试序列,测试结束于测试文件结束;
每个测试序列占一行,每行2个用空格隔开的正整数a,b。a,b & 264.
对于每对输入的整数,输出”YES”,如果它们互素;否则,输出”NO”。
Sample Input
Sample Output
解题思路:试除法虽然可以判断两个数是否互素,但肯定会超时;所以在这里使用辗转相除法,即欧几里得算法。
欧几里得算法E如下:
E=“对输入&x,y&,x和y是二进制表示的自然数:
1)重复下面的操作,指导y=0.
2)赋值x &- x mod y.
3)交换x和y的值。
4)输出x。”
简单来说是这样的:
x,y,r1,r2,r3......rn,0
r1=x%y, r2=y%r1, 以此类推。看最后rn是否为1
因为 x = k*y+r1 , 即 r1 = x - k*y
(a,b)表示a 和 b 的最大公因子
那么 (x,y)一定是r1的因子,(y,r1)一定是x的因子
所以(x,y)==(y,r1)==(r1,r2)==......==(rn,0)==rn
当且仅当最大公因子为1,即rn==1时,x,y互素;否则不然。
当然,算法思想很简单,但这道题很不容易通过。原因在于输入:每行2个用空格隔开的正整数a,b。a,b & 264
输入的数可以达到2^64,而:
int - ~ + (4 Bytes)
unsigned int 0 ~
long == int
long long -4775808 ~ + Bytes)
double 1.7 * 10^308 (8 Bytes)unsigned int 0~__int64的最大值:4775807__int64的最小值:-4775808unsigned __int64的最大值:
所以,比较合适的类型是unsigned __int64(注意下划线之前有空格!)
输入格式为scanf(&%I64d&,&a);
注意是大写的I而不是小写的l
用cin&&a不知道为什么不行~~!
代码如下:
#include&stdio.h&
#include&stdlib.h&
#include&iostream&
int main()
unsigned __int64 a,b,r;
//while(scanf(&%l64d %l64d&,&a,&b)!=EOF){
while(scanf(&%I64u %I64u&,&a,&b)!=EOF){//这个输入坑死爹啊!2^64意味着0啊,因为是64位的,但2^64表示64个0,第65位的那个1没有了!
// printf(&a,b,r:\n&);
// printf(&%I64d,%I64d,%I64d\n&,a,b,r);
while(r!=0)
printf(&YES\n&);
printf(&NO\n&);
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:809次
排名:千里之外
(1)(2)(3)(2)互质数 - 搜狗百科
该词条缺少词条分类,补充相关内容帮助词条更加完善!
数为数学中的一种概念,即两个或多个只有1的非零。公因数只有1的两个非零自然数,叫做互质数。
1的两个非零自然数
定义及定理1.两个数的 只有1的两个非零自然数,叫做互质数。举例:2和3,公因数只有1,为互质数。2.多个数的若干个 最大公因数只有1的正整数,叫做互质数。3.任何两个 ,为互。4、1和任何 互质。相邻的两个互质。两个不同的质数互质。一个质数和一个 ,这两个数不是倍数关系时互质。不含相同质因数的两个互质。5、任何相邻的两个数互质。
(1)这里所说的“两个数”是指除0外的所有 。(2)“ 只有 1”,不能误说成“没有。”(3)三个或三个以上自然数有两种不同的情况:一种是这些成互质数的自然数是的。如2、3、5。另一种不是 的。如6、8、9。 两个 ( 正)(N),除了1以外,没有其他 时,称这两个数为互质数.互质数的 是6/π^2(4)互质的两个数相乘,所得的数不一定是合数。因为一和任何一个非零的自然数互质,一乘任何非零自然数,所得的积不一定是合数。如1与17互质,1×17=17,17不是合数。
(1)相邻的两个奇数是互质数。例如 49与 51。(2)两个相差4的奇数是互质数。例如 49与 53。(3)大数是质数的两个数是互质数。例如97与91。(4)小数是质数,大数不是小数的倍数的两个数是互质数。例如 7和 16。(5)1和任何 (0除外)都是互质数。
(1)两个数都是合数(两数相差较大),小数所有的 ,都不是大数的约数,这两个数是互质数。(2)两个数都是合数(两数相差较小),这两个数的差的所有质因数都不是小数的约数,这两个数是互质数。(3)两个数都是合数,大数除以小数的余数(不为“0”且大于“ 1”)的所有质因数,都不是小数的约数,这两个数是互质数。如 462与 221462÷221=2……20,20=2×2×5。2、5都不是221的约数,这两个数是互质数。(4)减除法。如255与182。255-182=73,观察知 73&182。182-(73×2)=36,显然 36&73。73-(36×2)=1,(255,182)=1。所以这两个数是互质数。
扩展阅读:
合作编辑者:
搜狗百科词条内容由用户共同创建和维护,不代表搜狗百科立场。如果您需要医学、法律、投资理财等专业领域的建议,我们强烈建议您独自对内容的可信性进行评估,并咨询相关专业人士。
点击编辑词条,进入编辑页面如果两个数互质,它们就没有公因数。判断对错,请注明理由。理由越多越好。我认为该题是错的,因为还有公因数1呢!学生请数学教授解题。
娜样纯杰79
有公因数1,对如果两个数互质,它们就没有除1以外的公因数。
小学数学教材对互质数是这样定义的:“公约数只有1的两个数,叫做互质数。” 这里所说的“两个数”是指自然数。 “公约数只有 1”,不能误说成“没有公约数。”
只要两数的公因数只有1时,就说两数是互质数所以题目是错误的 有公因数1
首先要明白什么叫互质数:除了1外再没有别的公因数的两个数,也就是说1是任何两个数的公因数
为您推荐:
扫描下载二维码判断两个数是否互质的方法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
判断两个数是否互质的方法
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
你可能喜欢}

我要回帖

更多关于 两个合数一定不互素 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信