求n个数的最小公倍数。
输入
输入包含多个测试实例,每个测试实例的开始是一个正整数n(2<=n<=10),然后是n个正整数。
输出
为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。
样例输入
2 4 6
3 2 5 7
样例输出
12
70
题目来源
ZJGSUTOC]
#include <iostream>//台州学院的题,最小公倍数
#include<stdio.h>
using namespace std;
int lc(int a, int b)
{
if(a < b) // 比较一下大小
{
int temp = a; a = b; b = temp;
}
int c = a,f = b; // 先保存a,b,的值
while(b != 0)
{
int r = a % b;
a = b;
b = r;
}
return c / a * f;
}
int main()
{
int T, n, a[1000]; // 还可以不开数组的换成读取一个一个的a
while(~scanf("%d",&n))
{
for(int i = 0; i < n; i++)
{
scanf("%d",&a[i]);
}
if(n > 1)
{
int t = lc(a[0],a[1]);
for(int i = 2; i < n;)
{
t = lc(t,a[i++]);
}
printf("%d\n",t);
}
else
printf("%d\n",a[0]); // 若是一个数, 就输出
}
return 0;
}
此题开始实在是乏力,幸有网友代码解惑,在此谢谢各位大神
网友题的地址:https:/blog.csdn.net/ggqinglfu/post/Details/81988267