题目要求
求两个数A,B的最大公约数。
算数分析
将两个数取余数A%B=C。
如果C==0,则这两个数最大公约数为B,此时输出B。
如果C!=0,则A=B,B=C,继续从开始执行。
核心代码为:
int gcd(int a,int b)
{
if(a%b==0)
return b;
return gcd(b,a%b);
}
全部代码为:
#include <stdio.h>
#include<stdlib.h>
#include <math.h>
int gcd(int a,int b)
{
if(a%b==0)
return b;
return gcd(b,a%b);
}
int main()
{
int a=0,b=0;
printf("请输入a,b两个数:");
scanf("%d %d",&a,&b);
printf("A=%d,B=%d\n最大公约数: \n(A,B)=%d\n",a,b,gcd(a,b));
system("pause");
return 0;
}
展示一下运行结果: