实现:
#include<iostream>
using namespace std;
int LCM(int x, int y){
int m = x, n = y;
int b = x%y;
while (b!=0)
{
x = y;
y = b;
b = x%y;
}
// 辗转相除法求最大公约数
int gongYueShu = y;
// 最小公倍数等于该2个数的乘积除以最大公约数
return (m*n/y);
}
int main(){
int a[5];
for (int i=0; i<5; i++){
cin>>a[i];
}
// 数据输入错误
for (int i:a){
if (i==0 || i<0){
printf("error");
return 0;
}
}
// 多次求公倍数
int l1=a[0],l2=a[1];
l1 = LCM(l1,l2);
for (int i=2; i<5; i++){
l2 = a[i];
l1 = LCM(l1,l2);
}
printf("%d",l1);
}
输出: