Lowest Common Multiple Plus

Problem Description

求n个数的最小公倍数。

Input

输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。

Output

为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。

Sample Input

2 4 6

3 2 5 7

Sample Output

12

70

 1 #include <stdio.h>
 2 int get_lcm(int a,int b);
 3
 4 int main(){
 5     int n;
 6     int result;
 7     int number;
 8
 9     while((scanf("%d",&n))!=EOF){
10         result=1;
11         while(n--){
12             scanf("%d",&number);
13
14             result=get_lcm(result,number);
15         }
16
17         printf("%d\n",result);
18     }
19     return 0;
20 }
21
22 int get_lcm(int a,int b){
23     int temp;
24     int remainder;
25     int A;
26     int B;
27
28     A=a;
29     B=b;
30
31     if(a<b){
32         temp=a;
33         a=b;
34         b=temp;
35     }
36
37     while(a%b){
38         remainder=a%b;
39         a=b;
40         b=remainder;
41     }
42
43     return A/b*B;  //不能写成A*B/b,因为可能会溢出
44 }
时间: 2024-10-25 09:47:16

Lowest Common Multiple Plus的相关文章

杭电 HDU ACM 2028 Lowest Common Multiple Plus

Lowest Common Multiple Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 39183    Accepted Submission(s): 16144 Problem Description 求n个数的最小公倍数. Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数. Ou

Lowest Common Multiple Plus(杭电2028)

/*Lowest Common Multiple Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 33241    Accepted Submission(s): 13578 Problem Description 求n个数的最小公倍数. Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数.

hdu 2028 Lowest Common Multiple Plus(最小公倍数)

Lowest Common Multiple Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 34980    Accepted Submission(s): 14272 Problem Description 求n个数的最小公倍数. Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数. Out

HDOJ 2028 Lowest Common Multiple Plus

Lowest Common Multiple Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 33702    Accepted Submission(s): 13766 Problem Description 求n个数的最小公倍数. Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数. Ou

HDU2028 Lowest Common Multiple Plus【stein算法】【水题】

Lowest Common Multiple Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 36800    Accepted Submission(s): 15116 Problem Description 求n个数的最小公倍数. Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数. Ou

HDU2028 Lowest Common Multiple Plus

解题思路:最近很忙,有点乱,感觉对不起自己的中国好队友.   好好调整,一切都不是问题,Just do it ! 代码: 1 #include<cstdio> 2 3 int gcd(int a, int b) 4 { 5 if(b == 0) return a; 6 return gcd(b, a % b); 7 } 8 9 int main() 10 { 11 int n, a, b, c; 12 while(~scanf("%d", &n)) 13 { 14

26最小公倍数 lowest common multiple

题目描述 正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数. 输入描述:输入两个正整数A和B. 输出描述:输出A和B的最小公倍数. 输入例子: 5 7 输出例子: 35

#2028 Lowest Common Multiple Plus

http://acm.hdu.edu.cn/showproblem.php?pid=2028 应该是比较简单的一道题啊...求输入的数的最小公倍数. 先用百度来的(老师教的已经不知道跑哪去了)辗转相除法求出两数的最大公因数,再将两数相乘并除以最大公因数即得到最小公倍数. 一开始我写的代码如下 1 #include<stdio.h> 2 3 int gcd(int a, int b) 4 { 5 if (b == 0) 6 { 7 return a; 8 } 9 return gcd(b, a%

hdu 2028 Lowest Common Multiple Plus

Problem Description 求n个数的最小公倍数. Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数. Output 为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行.你可以假设最后的输出是一个32位的整数. Sample Input 2 4 6 3 2 5 7 Sample Output 12 70 思路:水题.题目要求32位整数,所以使用unsigned int. 代码: #include <iostream> #include 

Lowest Common Multiple Plus(hdu2028)

不解释. #include<stdio.h> int gcd(unsigned x, unsigned y) { unsigned r; while ((r = x%y) != 0) { x = y; y = r; } return y; } int lcm(unsigned x, unsigned y) { unsigned d; d = gcd(x, y); return (x*y / d); } int main() { int n; char d; while (scanf_s(&qu