蛤玮买好了礼物
T(1<=T<=100),表示數據組數. 每組數據第一行一個整數n(1<=n<=100),表示蛤瑋買來的鉛筆個數,接下來一行n個整數,表示n個鉛筆的長度.保證長度都為正整數且小于1e7.HINT
Description
蛤瑋的妹子過生日,蛤瑋把千辛萬苦挑選出來的禮物送到了妹子面前,然而妹子非常生氣,因為妹子要的是化妝套裝,而蛤瑋買了一套水彩鉛筆,更可氣的是這些鉛筆像是二手的,因為他們不是一樣長!
為了懲罰蛤瑋,妹子說"我有強迫癥,受不了這些鉛筆不一樣長,你快去搞定它!不然就買化妝套給我!".
?? 還好,這些鉛筆的長度都是整數,蛤瑋靈機一動,可以把些鉛筆掰斷使得它們可以一樣長,當然要保證鉛筆盡可能的長。 那么當這些鉛筆最終一樣長的時候,一共有多少支鉛筆?
Input
T(1<=T<=100),表示數據組數. 每組數據第一行一個整數n(1<=n<=100),表示蛤瑋買來的鉛筆個數,接下來一行n個整數,表示n個鉛筆的長度.保證長度都為正整數且小于1e7.
Output
每組數據輸出一行,表示最終的鉛筆個數.
Sample Input
2 2 2 3 3 4 6 14Sample Output
5 12HINT
對于第一個輸入,最終掰成了5個長度為1的鉛筆,第二個輸入,最終掰成了12個長度為2的鉛筆。
AC代碼:
無語啊,大水題,當時不知道卡到哪兒了,竟然沒寫出來
#include<iostream> #include<cstdio> using namespace std; int gcd(int x,int y) { int t;while(y!=0){t=x%y;x=y;y=t;}return x; }int main() {int T,n;int a[110];int i,j,k;while(~scanf("%d",&T))while(T--){k=0;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&a[i]);k+=a[i];}if(n==1)printf("%d\n",n);else{j=gcd(a[0],a[1]);for(i=2;i<n;i++){j=gcd(j,a[i]);}printf("%d\n",k/j);} }return 0; }總結
- 上一篇: jeecg集成实现websocket
- 下一篇: 蛤玮的机房