c语言函数判断互质数 判断是否互质c语言
C语言 互质数问题(最好有点解释)
/*
创新互联专注于企业全网整合营销推广、网站重做改版、利辛网站定制设计、自适应品牌网站建设、HTML5、商城网站开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为利辛等各大城市提供网站开发制作服务。
21 17
是
2 4
不是
9 3
不是
13 39
不是
q
Press any key to continue
*/
#include stdio.h
int MaxFactor(int m,int n) { // 最大公约数
int t;
if(n m) { t = n;n = m;m = t; }
for(t = m;t 0;t--) {
if(m % t == 0 n % t == 0)
return t;
}
return 1; // 永远得不到执行。
}
void is_huzhishu(int x,int y,int *res) {
if(1 == MaxFactor(x,y)) *res = 1;
else *res = 0;
}
int main() {
int m,n,res;
while(scanf("%d%d",m,n) == 2) {
is_huzhishu(m,n,res);
if(res) printf("是\n");
else printf("不是\n");
}
return 0;
}
用C语言写一个判断互质的程序
#include stdio.h
#includestdlib.h
main()
{
int n,i,c,j=0,k,sum=0,a[40];
for(i=0;i40;i++)
a[i]=0;
printf("input n:\n");
scanf("%d",n);
if(n==1)
printf("10");
for(i=2;i=n;i++)
{
if(n%i==0)
{
a[j]=i;
j++;
}
}
for(i=1;i=100;i++)
{
for(k=0;kj;k++)
{
if(i%a[k]!=0)
c=1;
else
c=0;
}
sum=sum+c;
}
printf("%d",sum);
getch();
}
程序如上
望采纳
C语言,互质数问题,用指针。用带填充原程序做
#includestdio.h
#includestring.h
#includemalloc.h
#includeconio.h
#includemath.h
#include stdlib.h
#include time.h
#include stdlib.h
void is_huzhishu(int x,int y, int* jieguo)
{
int temp;
while( y != 0)
{
temp = y;
y = x % y;
x = temp;
}
if(x == 1)
{
*jieguo = 1;
}
else
{
*jieguo = 0;
}
}
int main(void)
{
int x,y,jieguo;
printf("请输入两个正整数,以英文逗号分隔\n");
scanf("%d,%d", x, y);
is_huzhishu(x, y, jieguo);
if(jieguo)
{
printf("YES\n\n");
}
else
{
printf("NO\n\n");
}
return 0;
}
如何用“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;
}
}
}
网站栏目:c语言函数判断互质数 判断是否互质c语言
文章转载:http://pwwzsj.com/article/hpesed.html