最小公倍数的规模化。。。
代码:
/***** HDOJ_2028_Lowest Common Multiple Plus ********/
/******** written by C_Shit_Hu ************/
////////////////公倍数///////////////
/****************************************************************************/
/*
Problem Description
求n个数的最小公倍数。
/***** problem source ********/
/******** written by C_Shit_Hu ************/
////////////////题目属性///////////////
/****************************************************************************/
/*
Problem Description
求n个数的最小公倍数。
Input
输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。
Output
为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。
Sample Input
2 4 6
3 2 5 7
Sample Output
12
70
*/
/****************************************************************************/
// 求最小公倍数的集合化。。。
#include <stdio.h>
#include <stdlib.h>
_int64 gbs( _int64 a, _int64 b) //求最小公倍数
{
_int64 A=a, B=b, tem, yu ;
if( a<b ) //注意:a*b可能超过int类型
{
tem = a;
a = b;
b = tem;
}
while(yu != 0)
{
yu = a%b;
a = b;
b = yu;
}
return A*B/a ;
}
int main()
{
_int64 n, i, temp, a = 1;
while((scanf("%I64d",&n))!=EOF)
{
a = 1;
for(i=0;i<n;i++)
{
scanf("%I64d",&temp);
a = gbs(a,temp); // 输入的数据两两相比,求公倍数
}
printf("%I64d\n",a);
}
return 0;
}
/******************************************************/
/******************** 心得体会 **********************/
/*
果然是水题。。。
还做的那么慢。。
水水更健康!!!
*/
/******************************************************/