① 互质数的判断方法
看这两个数除了1以为有没有其他公因数,如果有就不是互质数,如果没有这两个数就是互质数关系。
② C语言,互质数问题,用指针。用带填充原程序做
#include<stdio.h>
#include<string.h>
#include<malloc.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
#include<time.h>
#include<stdlib.h>
voidis_hushu(intx,inty,int*jieguo)
{
inttemp;
while(y!=0)
{
temp=y;
y=x%y;
x=temp;
}
if(x==1)
{
*jieguo=1;
}
else
{
*jieguo=0;
}
}
intmain(void)
{
intx,y,jieguo;
printf("请输入两个正整数,以英文逗号分隔 ");
scanf("%d,%d",&x,&y);
is_hushu(x,y,&jieguo);
if(jieguo)
{
printf("YES ");
}
else
{
printf("NO ");
}
return0;
}
③ 编程实现,输入两个整数,判断两个数是否为互质数
楼上的 互质就是两个数公约数为1
#include<stdio.h>
main()
{ int a,b,temp;
printf("a=");
scanf("%d",&a);
printf("b=");
scanf("%d",&b);
while(b!=0){
temp=b;
b=a%b;
a=temp;
}
if(a==1){
printf("YES");
}else{
printf("no");
}
}
④ C语言 互质数问题(最好有点解释)
/*
21 17
是
2 4
不是
9 3
不是
13 39
不是
q
Press any key to continue
*/
#include<stdio.h>
intMaxFactor(intm,intn){//最大公约数
intt;
if(n<m){t=n;n=m;m=t;}
for(t=m;t>0;t--){
if(m%t==0&&n%t==0)
returnt;
}
return1;//永远得不到执行。
}
voidis_hushu(intx,inty,int*res){
if(1==MaxFactor(x,y))*res=1;
else*res=0;
}
intmain(){
intm,n,res;
while(scanf("%d%d",&m,&n)==2){
is_hushu(m,n,&res);
if(res)printf("是 ");
elseprintf("不是 ");
}
return0;
}
⑤ c++如何判断两个数互质
互质的定义
:
2个数的最大公约数为1
建议
使用
辗转相除法
计算最大公约数,如果最大公约数是1
,则两个数互质。
如果不会辗转相除法,建议网络查找。
⑥ 怎样判断互质数,6种方法
判断互质数的方法就是只有一和本身两个除数就是质数。
⑦ 判断两个数a,b是否为互质数的程序,用C语言编写
两个数互质,就是说两个数的没有公共因子,即最大公约数是1
程序如下:
#include <stdio.h>
int GCD(int x,int y)//最大公约数函数,欧几里德算法
{
int a,b,c;
if(x>y)
{a=x,b=y;}
else
{a=y,b=x;}
while ((a%b)!=0)
{
c=a%b;
a=b;
b=c;
}
return b;
}
int main()
{
int m,n;
printf("please input two positive numbers:");
scanf("%d%d",&m,&n);
if(GCD(m,n)>1)
printf("两个数不是互质的。\n");
else
printf("两个数是互质的。\n");
}
输入示例:100 3
输出:两个数是互质的。
程序在DEV C++下调试通过,最大公约数计算使用的是欧几里德算法(数论基础知识),看过就明白了。
⑧ 怎么判断互质数
怎样判断互质数,6种方法
最佳答案由提问者推荐
匿名用户
根据互质数的定义,可总结出一些规律,利用这些规律能迅速判断一组数是否互质。
(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是互质数。
⑨ 如何用“c++函数”判断俩数是否互质
// 只有1为公约数的两个正整数,两个整数才会互质
// 也就是说两个整数的最大公约数为1,即可判断两个正整数互质
bool isrp(int a, int b){
if(a <=0 || b<=0 || a==b){ // 互质整数不能小于或等于0
return false;
}else if(a==1 || b==1){ // 两个正整数中,只有其中一个数值为1,两个正整数为互质数
return true;
}else{
// 求出两个正整数的最大公约数
while(1){
int t = a%b;
if(t == 0){
break;
}else{
a = b;
b = t;
}
}
if( b > 1){ // 如果最大公约数大于1,表示两个正整数不互质
return false;
}else{ // 如果最大公约数等于1,表示两个正整数互质
return true;
}
}
}
⑩ 怎样判断互质数,6种方法
根据互质数的定义,可总结出一些规律,利用这些规律能迅速判断一组数是否互质。
(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是互质数。