这个东西需要用到数学上的辗转相除法,这里就不在赘述,辗转相除法详见百度百科和代码中的njc函数。
题目链接:
求最大公约数问题
下面代码:
#include<cstdio>
#include<cstring>
using namespace std;
int njc(int a,int b)
{
if(a%b==0) return b;
return njc(b,a%b);
}
int a,b,c;
int main()
{
scanf("%d%d",&a,&b);
c=njc(a,b);
printf("%d",c);
return 0;
}