按照常规求解最大公因数和最小公倍数的来
最大公因数和最大公因数求法
例:16,12
2|16 12 16和12都可以被2整除
-------
2|8 6 除后分别得8和6,8和六都可以被2整除
------
4 3 除后剩下了4和3,4和3没有除了1之外的相同因数了,也就是互质
最大公因数也就是吧两个2相乘,得4
最小公倍数是把最大公因数乘4和3的积,得48
所以16和12得最大公因数是4,最小公倍数是48
#include<iostream> using namespace std; int fun1(int m,int n) { int s; while(n != 0) { s = m % n; m = n; n = s; } return m; } int fun2(int m,int n) { int a; a = fun1(m,n); return m * n / a; } int main() { int m,n; scanf("%d%d",&m,&n); printf("%d %d",fun1(m,n),fun2(m,n)); return 0; }
0.0分
3 人评分