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): 107359    Accepted Submission(s): 44492

Problem Description 求n个数的最小公倍数。   Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。   Output 为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。   Sample Input 2 4 6 3 2 5 7   Sample Output 12 70

 


主要用来记录一下最小公倍数和最大公因数的求法.

 

 1 //#include <bits/stdc++.h> 
 2 #include <iostream>
 3 #include <cstring>
 4 #include <algorithm>
 5 #include <cctype>
 6 
 7 using namespace std;
 8 
 9 int gcd(int a,int b) {
10     return b ==  0 ? a : gcd(b,a % b);
11 }
12 
13 int lcm(int a,int b) {
14     return a / gcd(a,b) * b;
15 }
16 
17 int main()
18 {    
19     int n; 
20     int ans = 0,temp = 0;
21     while(~scanf("%d",&n)) {
22         ans = 0;
23         for(int i = 0;i < n;i++) {
24             scanf("%d",&temp);
25             if(i == 0) {
26                 ans = temp;
27                 continue;                
28             }
29             ans = lcm(ans,temp);
30         }
31         printf("%d\n",ans);
32     }
33      return 0;
34 }

2021-02-10

上一篇:题解——Lowest Common Ancestor(16进制LCA)


下一篇:通讯录输入姓名,若通讯录文件中存在,则讲该联系人信息输出;若不存在,则输出“Not found”。