1. 程式人生 > >Lowest Common Multiple Plus

Lowest Common Multiple Plus

stream ++ align NPU close ret 數據 32位 col

Problem Description 求n個數的最小公倍數。

Input 輸入包含多個測試實例,每個測試實例的開始是一個正整數n,然後是n個正整數。

Output 為每組測試數據輸出它們的最小公倍數,每個測試實例的輸出占一行。你可以假設最後的輸出是一個32位的整數。

Sample Input 2 4 6 3 2 5 7

Sample Output 12 70 一直被卡,原來是說輸出32位整數。應該是超出了int的範圍、 技術分享圖片
 1 #include<iostream>
 2
#include<iomanip> 3 //#include<bits/stdc++.h> 4 #include<cstdio> 5 #include<cmath> 6 #include<sstream> 7 #define PI 3.14159265358979 8 #define LL long long 9 #define eps 0.00000001 10 #define LL long long 11 using namespace std; 12 LL gcd(LL a,LL b) 13 { 14 if
(a<b) swap(a,b); 15 LL r=a%b; 16 while(r) 17 { 18 a=b; 19 b=r; 20 r=a%b; 21 } 22 return b; 23 } 24 int main() 25 { 26 // freopen("input.txt","r",stdin); 27 LL T; 28 while(cin>>T) 29 { 30 LL a; 31 cin>>a;
32 LL temp=a; 33 for(LL i=2;i<=T;++i) 34 { 35 cin>>a; 36 temp=temp*a/gcd(temp,a); 37 } 38 cout<<temp<<endl; 39 40 } 41 }
View Code

Lowest Common Multiple Plus