码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 1019 Least Common Multiple

时间:2016-03-19 14:30:46      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

多个数的最小公倍数

数的类型不能为int ,而是选择long long 类型

若是使用scanf, printf函数时 用%I64d,而不是%lld ,即使两种实质意义没什么不同,仅仅是平台不一样

最小公倍数可以用辗转相除法,这里没有用,简单

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 using namespace std;
 5 int Common(int a, int b) {
 6     int t = (a < b )? a : b;
 7     while(t > 0) {
 8         if(a % t == 0 && b % t == 0)
 9             break;
10         t --;
11     }
12     return t;
13 }
14 
15 int main()
16 {
17 
18     freopen("C:\\Users\\super\\Documents\\CB_codes\\in.txt", "r", stdin);
19     //freopen("C:\\Users\\super\\Documents\\CB_codes\\out.txt","w",stdout);
20     int T, n;
21     long long int a, b;
22     scanf("%d", &T);
23     while(T --) {
24         scanf("%d", &n);
25         b = 1;
26         for(int i = 0; i < n; i ++) {
27             scanf("%I64d", &a);
28             b = b * a / Common(a, b);
29         }
30 
31         printf("%I64d\n", b);
32     }
33 
34 
35     fclose(stdin);
36     return 0;
37 }

 

HDU 1019 Least Common Multiple

标签:

原文地址:http://www.cnblogs.com/livelihao/p/5294866.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!