求两个数的最大公约数用穷举法怎么写呀,按初学者最好理解的写
问题描述:
求两个数的最大公约数:
int maxgys(int m,int n)
答
#include<stdio.h>
int maxgys(int m,int n)
{
int r = m>n?m:n;
while(r)
{
if(m%r==0 && n%r==0)break;//最大的可以同时整除二者的数,即为最大公约数。
r--;
}
return r;
}
int main()
{
int m,n, c;
scanf("%d%d", &m, &n);
c = maxgys(m, n);
printf("%d", c);
return 0;
}
答
#include<stdio.h>
int maxgys(int m,int n)
{
int w,t;
if(m < n)
{
t = m;
m = n;
n = t;
}
while(n != 0)
{
w = m % n;
m = n;
n = w;
}
return m;
}
int main()
{
int m,n, c;
scanf("%d%d", &m, &n);
c = maxgys(m, n);
printf("%d", c);
return 0;
}
可以看看这个