最大公约数
辗转相除法
用第一次的余数作为除数,第一次的除数作为被除数,如此往复;
最后返回a;
#include<stdio.h>
int main(){
int a,b,c;
scanf("%d %d",&a,&b); //a>b
while(b){
c=a%b;
a=b;
b=c;
}
printf("%d\n",a);
return 0;
}
递归
int gcd(int a,int b){
return b?gcd(b,a%b):a;
}
最小公倍数
掌握了上面2种最大公约数,最大公倍数就是2个数的乘积除以最大公约数