NYOJ 1069 生活的难题
生活随笔
收集整理的這篇文章主要介紹了
NYOJ 1069 生活的难题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一行輸入一個整數T(T<=5),表示有T組測試數據。
每組數據占兩行,第一行為一個數N(2<=N<=1000),表示有N個數;第二行有N個數,1<=a[i]<=60,000,000(1<=i<=N)。
輸出每組數據輸出占一行,輸出這兩個數字的和。 樣例輸入 1
8
2 6 3 4 3 2 5 5 樣例輸出 24 這曾是一道C++面試題,網上有很多講解,我就不白話了。。。。。。下面直接貼代碼! 注意:最后的積可能超出int范圍,所以要用long long數據類型! AC碼: #include<stdio.h>
long long num[1005];
int main()
{long long T,n,a,b,i,k;scanf("%lld",&T);while(T--){scanf("%lld",&n);a=0;for(i=0;i<n;i++){scanf("%lld",&num[i]);a=a^num[i];}b=a;k=0;while(!(b&1)){b=b>>1;k++;}b=a;for(i=0;i<n;i++){if((num[i]>>k)&1){b=b^num[i];}}printf("%lld\n",b*(a^b));}return 0;
}
生活的難題
時間限制:1500 ms ?|? 內存限制:240000 KB 難度:3 描述????生活又調皮了,整天不好好的集訓,還偷偷的看電影!今天終于被逮到了。于是萬惡的BOSS們就出了一個題來為難為難他。題目是這樣的,輸入一個整型數組,數組里除了兩個數出現一次之外,其它所有數字出現的次數都是2次,求這兩個數字的乘積。
輸入每組數據占兩行,第一行為一個數N(2<=N<=1000),表示有N個數;第二行有N個數,1<=a[i]<=60,000,000(1<=i<=N)。
總結
以上是生活随笔為你收集整理的NYOJ 1069 生活的难题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搜狗用这个骚技术,把百度逼上了绝路...
- 下一篇: 3小时解决头疼的年终报表!