《ACM程式設計》 Problem M 二倍問題

2021-07-29 01:57:04 字數 973 閱讀 5465

題意:

描述作為算術能力計畫的一部分,您的學生將獲得2至15個唯一正整數的隨機生成列表,並要求確定每個列表中有多少專案是同一列表中的其他專案的兩倍。你需要乙個程式來幫助你評分。這個程式應該能夠掃瞄列表並輸出每個列表的正確答案。例如,給出列表

1 4 3 2 9 7 18 22 

你的程式應該回答3,因為2是兩倍1,4是2倍,18是兩倍9。

輸入

輸入檔案將由乙個或多個數字列表組成。每行有乙個數字列表。每個列表將包含2到15個唯一的正整數。沒有整數將大於99.每行將以整數0終止,不被視為列表的一部分。具有單個數字-1的行將標記檔案的結尾。下面的示例輸入顯示3個單獨的列表。某些列表可能不包含任何雙精度。

輸出

輸出將由每個輸入列表的一行組成,包含與其他項重疊的項的計數。

樣品輸入

1 4 3 2 9 7 18 22 0 

2 4 8 10 0 

7 5 11 13 1 3 0 

-1

示例輸出

2 0解題思路:

先輸入,然後用類似於選擇排序的方法進行依次檢查然後輸出結果即可。

**如下:

#include

using namespace std;

int main()

{int i,h,n,x=0;

vectora(100);

while( cin>>a[0])

{   if(a[0]==-1)

break;

for(i=1;a[i-1]!=0;i++)

cin>>a[i];

h=i-1;

for(i=0;i<=h;i++)

for(n=0;n<=h;n++)

if(a[i]==a[n]*2)

x++;

cout<

歸納(二) 倍增

把一步一步往上爬變成一次一次向前跳,從 o n o log 的蛻變,可以解決很多問題。anc i k anc anc i k 1 k 1 就這麼一行。我的 2 級祖先就是我 2 級祖先的 2 級祖先。就憑這句話,就可以解決很多問題了。洛谷p1613跑路 小a的工作不僅繁瑣,更有苛刻的規定,要求小a每...

二倍均值法(搶紅包案例)

發出乙個固定金額的紅包,由若干個人來搶,需要滿足哪些規則?1.所有人搶到金額之和等於紅包金額,不能超過,也不能少於。2.每個人至少搶到一分錢。3.要保證所有人搶到金額的機率相等。參考 程式設計師小灰 漫畫 如何實現搶紅包演算法?剩餘紅包金額為m,剩餘人數為n,那麼有如下公式 每次搶到的金額 隨機區間...

leetcode 954 二倍數對陣列

給定乙個長度為偶數的整數陣列 arr,只有對 arr 進行重組後可以滿足 對於每個 0 i len arr 2,都有 arr 2 i 1 2 arr 2 i 時,返回 true 否則,返回 false。示例 1 輸入 arr 3,1,3,6 輸出 false 示例 2 輸入 arr 2,1,2,6 ...