#include <stdio.h>
求最小公倍数一种办法通过求最大公约数求得 再通过公式(
最小公倍数=两个数的乘积/最大公约数)
最大公约数 通过辗转相除法求得。
#include <stdio.h>
int Gcd (int a, int b){
int tmp;
while (b != 0){
tmp = a;
a = b;
b = tmp % b;
}
return a;
}//辗转相除法求最大公约数。
int main(void){
int n;
int a;
int b;
int m;
while (scanf ("%d", &n) != EOF){
while (n-- != 0){
scanf ("%d%d", &m, &a);
--m;
while (m != 0){
scanf ("%d", &b);
a = a / Gcd (a, b) * b;
--m;
}
printf ("%d\n", a);
}
}
return 0;
}
参考资料: 维基百科 -- 辗转相除法
最大公约数 通过辗转相除法求得。
#include <stdio.h>
int Gcd (int a, int b){
int tmp;
while (b != 0){
tmp = a;
a = b;
b = tmp % b;
}
return a;
}//辗转相除法求最大公约数。
int main(void){
int n;
int a;
int b;
int m;
while (scanf ("%d", &n) != EOF){
while (n-- != 0){
scanf ("%d%d", &m, &a);
--m;
while (m != 0){
scanf ("%d", &b);
a = a / Gcd (a, b) * b;
--m;
}
printf ("%d\n", a);
}
}
return 0;
}
参考资料: 维基百科 -- 辗转相除法