最大公约数递归
#include <stdio.h> long int ismax( long int a, long int b) { if (a % b == 0) return b; else return ismax(b, a % b); } long int ismin( long int a, long int b) { return a * b / ismax(a, b); } int main() { long int n, m; scanf("%ld %ld", &n, &m); long int max = ismax(n, m); long int min = ismin(n, m); printf("%ld", max + min); }
最大公约数递归函数:
long int ismax( long int a, long int b) {
if (a % b == 0)
return b;
else
return ismax(b, a % b);
}
最小公倍数可以直接调用最大公约数计算
long int ismin( long int a, long int b) {
return a * b / ismax(a, b);
}