【題解】桐桐的深入研究
阿新 • • 發佈:2019-03-23
clas eve int for bsp 輸出 格式 ace event
題目描述
兩個數的最大公約數與最小公倍數的問題解決了,桐桐又進行了進一步的研究。她發現求n個正整數的最大公約數和最小公倍數要復雜一些,你能幫助她解決這個問題嗎?
輸入輸出格式
輸入格式
兩行,第一行為一個整數n(2≤n≤100),表示一共有n個正整數;第二行有n個正整數,相鄰的數用空格隔開,每個數不超過30000。
輸出格式
兩行,第一行為一個數,表示n個正整數的最大公約數;第二行為一個數,表示n個正整數的最小公倍數。
答案保證不超過長整型。
輸入輸出樣例
輸入樣例
3
3 4 5
輸出樣例
1
60
題解
gcd與lcm的深入運用,主要是用當前的gcd求下一個gcd,用當前的lcm求下一個lcm。
#include<iostream> #include<algorithm> using namespace std; int n,a[105],p=1,g; int gcd(int a,int b) { if(a%b) return gcd(b,a%b); else return b; } int main() { cin>>n; for(int i=1;i<=n;i++) { cin參考程序>>a[i]; } g=p=a[1]; for(int i=2;i<=n;i++) { g=gcd(max(g,a[i]),min(g,a[i])); } cout<<g<<endl; for(int i=2;i<=n;i++) { g=gcd(max(p,a[i]),min(p,a[i])); p*=a[i]; p/=g; } cout<<p;return 0; }
【題解】桐桐的深入研究