求a和b的最大公约数

时间:2022-03-15 07:52:31

题目:求a和b的最大公约数

分析:首先我们要知道最大公约数是什么,就是指两个或多个整数共有约数中最大的一个。好了,知道了最大公约数是什么,就可以求解它了,那么就相当于比较俩个数的约数,取其相等的最大的一个就对了,是吧?约数是啥???约数就是能把a或者b整除的数呗~

好了~一起来看看代码吧~

代码:

 #include<stdio.h>
void gcd(long int a,long int b) //子函数求gcd
{
long int i,t=,j=,k=,max,q=;
long int x[],y[]; //x[]存放第一个数的除数,y[]存放第二个数被第一个除数整除的数
for(i=a;i>;i--) //x[]
{
if(a%i==)
x[j++]=i;
t++;
}
for(i=;i<t;i++) //y[]
{
if(b%x[i]==)
y[k++]=x[i];
q++;
}
max=y[]; //选择最大的一个
for(i=;i<q;i++)
{
if(max<y[i])
{
max=y[i];
}
}
printf("gcd=%ld\n",max); //输出
}
void main()
{
long int a,b;
long int x[],y[];
while()
{
printf("please enter two number between 0 to 255 \n"); //输入俩个数
scanf("%ld%ld",&a,&b);
gcd(a,b);
}
}

简单的看几个答案吧:

求a和b的最大公约数

是不是很容易呢?

欢迎联系我的qq:2516985331

一起学习~