辗转相除法求最大公约数
#include<stdio.h>
int main()
{
int n;
int m;
scanf("%d%d",&n,&m);
int r;//保存余数
while((r=n%m) != 0)//
{
n = m;
m = r;
}
printf("%d\n",m);
return 0;
}
常规方法求最大公约数
#include<stdio.h>
int main()
{
int n;
int m;
scanf("%d%d",&n,&m);
int tmp;//保存公约数
for(int i=1;i<=n;i++)
{
if(n%i==0 && m%i==0)//公约数
{
tmp = i;
}
}
printf("%d\n",tmp);
return 0;
}