会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
creativity
To find a kindred spirit is not easy...
博客园
首页
新随笔
管理
hdu 1019 Least Common Multiple 数学题
Code
/**/
/*
2008-12-27 10:04:05 Accepted 1019 0MS 0K 428 B
求最小公倍数,用欧几里德辗转相除法求出最大公约数,再求出最小公倍数
*/
#include
<
iostream
>
__int64 Euclidean(__int64 a, __int64 b)
{
__int64 tmp,mul;
if
(a
<
b)
{tmp
=
b;b
=
a;a
=
tmp;}
mul
=
a
*
b;
while
((tmp
=
a
%
b))
{ a
=
b;b
=
tmp; }
return
mul
/
b;
}
int
main()
{
int
t,m;
__int64 x,y;
scanf(
"
%d
"
,
&
t);
while
(t
--
)
{
scanf(
"
%d
"
,
&
m);
for
(
int
i
=
0
;i
<
m;i
++
)
{
scanf(
"
%I64d
"
,
&
x);
if
(
!
i)
{y
=
x;
continue
;}
y
=
Euclidean(x,y);
}
printf(
"
%I64d\n
"
,y);
}
return
0
;
}
posted @
2008-12-27 10:07
sunjian
阅读(
325
) 评论(
0
)
收藏
举报
刷新页面
返回顶部
公告