最大公约数和最小公倍数
int common_facter(int x, int y) { int tmp = 0; while (x%y) { tmp = x%y; x = y; y = tmp; } //这里不必比较两个数的大小,因为小数对大数求余是它自己,相当于交换两数 return y; }
int common_facter(int x, int y) { while (x != y) { if (x > y) { x = x - y; } else if (x ③穷举法【算法设计】:【参考代码】:
int common_facter(int x, int y) { int temp = x; while (temp) { if ((x%temp == 0) && (y%temp == 0)) { break; } temp--; } //用穷举的方法找到两个数共同最大的约数 return temp; }【测试文件】:test.c
#pragma warning(disable:4996) #include#include int main() { int a = 0; int b = 0; int ret = 0; int temp = 0; printf("请输入两个数:"); scanf("%d%d", &a, &b); temp = a*b; ret = common_facter(a, b); printf("最大公约数为:%d\n", ret); printf("最小公倍数为:%d\n", temp/ret); system("pause"); return 0; } 【运行结果】:
参考源码:求最大公约数和最小公倍数。欢迎转载,转载请声明出处https://blog.csdn.net/hansionz