3个回答
展开全部
#include<iostream.h>
bool Check(int a,int b)
{
int min=a<b?a:b;
int work;
for(int i=2;i<=min;)
{
work=0;
if(a%i==0)
{
a/=i;
work++;
}
if(b%i==0)
{
b/=i;
work++;
}
if(work==2)
return false;
if(work==0)
i++;
}
return true;
}
void main()
{
int a,b;
cout<<"请输入两个数以判断它们是不是互素:"<<endl;
cin>>a>>b;
if(Check(a,b))
cout<<"它们互素"<<endl;
else
cout<<"它们不互素"<<endl;
}
bool Check(int a,int b)
{
int min=a<b?a:b;
int work;
for(int i=2;i<=min;)
{
work=0;
if(a%i==0)
{
a/=i;
work++;
}
if(b%i==0)
{
b/=i;
work++;
}
if(work==2)
return false;
if(work==0)
i++;
}
return true;
}
void main()
{
int a,b;
cout<<"请输入两个数以判断它们是不是互素:"<<endl;
cin>>a>>b;
if(Check(a,b))
cout<<"它们互素"<<endl;
else
cout<<"它们不互素"<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int fun(int a,int b)
{
int c=a,flag=0;
if(c>b)
c=b;
for(int i=2;i<=c;i++)
{
if((a%c==0)&&(b%c==0))
{
flag=1;
break;
}
}
return flag;
}//返回0代表互素,也可以改成返回1互素只需把flag=0与flag=1互换即可
void main()
{
int m,n;
int rt;
printf("plz input m,n:\n");
scanf("%d%d",&m,&n);
rt=fun(m,n);
if(rt)
printf("no\n");
else
printf("yes\n");
}
int fun(int a,int b)
{
int c=a,flag=0;
if(c>b)
c=b;
for(int i=2;i<=c;i++)
{
if((a%c==0)&&(b%c==0))
{
flag=1;
break;
}
}
return flag;
}//返回0代表互素,也可以改成返回1互素只需把flag=0与flag=1互换即可
void main()
{
int m,n;
int rt;
printf("plz input m,n:\n");
scanf("%d%d",&m,&n);
rt=fun(m,n);
if(rt)
printf("no\n");
else
printf("yes\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是求最大公约数看是否为1就可以了, 求最大公约数如下:
int gcd(int x,int y)
{
int t;
while (y) t=x, x=y, y=t%y;
return x;
}
int gcd(int x,int y)
{
int t;
while (y) t=x, x=y, y=t%y;
return x;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询