利用辗转相除法进行整数最大公因数的求法,
第一,先进行值的转变思路是把所有数变成大于零
第二,把两个数值变成大的为a,小的为b。
第三,利用辗转相除法进行计算,最后输出的a就是最大公因数。
#include<stdio.h>
int abs(int t)
{if (t>0)
return t;
else
return -t;
}
int main()
{
int a,b,c;
printf("请输入两个数\n");
scanf("%d%d",&a,&b);
if(a<0||b<0)
{{c=a;
a=abs(c);
c=b;
b=abs(c);}
{if(a>b)
{while(b!=0)
{c=a%b;
a=b;
b=c;
}
}
else{{c=a;
a=b;
b=c;}
{while(b!=0)
{c=a%b;
a=b;
b=c;}
}}
}
printf("该两个数的最大公因数为%d\n",a);}
else if(a==0||b==0)
{printf("该两个数的最大公因数为0\n");}
else
{{if(a>b)
{while(b!=0)
{c=a%b;
a=b;
b=c;
}
}
else{
{c=a;
a=b;
b=c;}
{while(b!=0)
{c=a%b;
a=b;
b=c;}
}}
}
printf("该两个数的最大公因数为%d\n",a);}
return 0;
}