第三屆藍橋杯初賽四之奇怪的比賽法四

2021-07-10 01:26:56 字數 1595 閱讀 5560

第三題比酒量:

有一群海盜(不多於20人),在船上比拼酒量。過程如下:開啟一瓶酒,所有在場的人平分喝下,有幾個人倒下了。再開啟一瓶酒平分,又有倒下的,再次重複...... 直到開了第4瓶酒,坐著的已經所剩無幾,海盜船長也在其中。當第4瓶酒平分喝下後,大家都倒下了。

等船長醒來,發現海盜船擱淺了。他在航海日誌中寫到:「......昨天,我正好喝了一瓶.......奉勸大家,開船不喝酒,喝酒別開船......」

請你根據這些資訊,推斷開始有多少人,每一輪喝下來還剩多少人。

如果有多個可能的答案,請列出所有答案,每個答案佔一行。

格式是:人數,人數,...

例如,有一種可能是:20,5,4,2,0

答案寫在「解答.txt」中,不要寫在這裡!

#include using namespace std;

int main()

}} }

}

第四題奇怪的比賽:

某電視台舉辦了低碳生活大獎賽。題目的計分規則相當奇怪:

每位選手需要回答10個問題(其編號為1到10),越後面越有難度。答對的,當前分數翻倍;答錯了則扣掉與題號相同的分數(選手必須回答問題,不回答按錯誤處理)。

每位選手都有乙個起步的分數為10分。

某獲勝選手最終得分剛好是100分,如果不讓你看比賽過程,你能推斷出他(她)哪個題目答對了,哪個題目答錯了嗎?

如果把答對的記為1,答錯的記為0,則10個題目的回答情況可以用僅含有1和0的串來表示。例如:0010110011 就是可能的情況。

你的任務是算出所有可能情況。每個答案佔一行。

答案寫在「解答.txt」中,不要寫在這裡!

/*法1:純暴力解決

include#include#includeusing namespace std;

int main()

if(score==100)

cout

int s[10];

void fun(int i,int score)

}else

}int main()

*//*法三:字串

#include #includeusing namespace std;

void f(char s,int n,int sum)

else

}int main()

*//*法四:進製轉換

///十進位制轉化成二進位制

#include#include#includeusing namespace std;

int main()

for(j=9; j>=0; --j)

if(s[j])

score*=2;

else score-=10-j;

if(score==100)}}

截圖:

總結:不是0就是1可以用int 型,可以用char 型

a[10]='\0';意思是字串結束符
還有進製轉換

第三屆藍橋杯省賽C 組 奇怪的比賽

奇怪的比賽 某電視台舉辦了低碳生活大獎賽。題目的計分規則相當奇怪 每位選手需要回答10個問題 其編號為1到10 越後面越有難度。答對的,當前分數翻倍 答錯了則扣掉與題號相同的分數 選手必須回答問題,不回答按錯誤處理 每位選手都有乙個起步的分數為10分。某獲勝選手最終得分剛好是100分,如果不讓你看比...

第三屆藍橋杯省賽C B組 奇怪的比賽

某電視台舉辦了低碳生活大獎賽。題目的計分規則相當奇怪 每位選手需要回答10個問題 其編號為1到10 越後面越有難度。答對的,當前分數翻倍 答錯了則扣掉與題號相同的分數 選手必須回答問題,不回答按錯誤處理 每位選手都有乙個起步的分數為10分。某獲勝選手最終得分剛好是100分,如果不讓你看比賽過程,你能...

第三屆藍橋杯初賽3比酒量

有一群海盜 不多於20人 在船上比拼酒量。過程如下 開啟一瓶酒,所有在場的人平分喝下,有幾個人倒下了。再開啟一瓶酒平分,又有倒下的,再次重複.直到開了第4瓶酒,坐著的已經所剩無幾,海盜船長也在其中。當第4瓶酒平分喝下後,大家都倒下了。請你根據這些資訊,推斷開始有多少人,每一輪喝下來還剩多少人。如果有...