備戰藍橋 有獎問答

2021-10-24 08:40:53 字數 961 閱讀 9952

某個節目組籌畫了一起答題有獎活動。

活動規則如下:

選手需要回答10道題目(1-10)。難度逐漸上公升,選手一旦答對當前題目,選手的分數就翻倍,當選手答錯時,會扣去當前題目編號對應的分數(選手必須回答問題,不回答按錯誤處理),若選手總分為0那麼將直接記為0分並失去做題資格。每位選手都擁有10分起始分,最低分為0分。

現在給出乙個分數上限n,請找出這個分數上限內(區間[0,n])能夠完成全部十道題目時,無法出現的分數並給出。

第一行輸入n(n<=100),表示分數上限。

將[0,n]區間不滿足的數字全部按公升序輸出,其中每個輸出佔一行

這道問題的重點在後一句話:"現在給出乙個分數上限n,請找出這個分數上限內(區間[0,n])能夠完成全部十道題目時,無法出現的分數並給出。"就是說必須要完成10道題目並且答題過程中總分不低於0分才可以。由於分數上限<=100,我們可以建立乙個陣列number,來記錄各種可能出現的分數,自定義兩個函式find(),judge(),find函式用來找出所有符合條件的分數,judge函式用來判斷完成當前題目後,總分是否小於0。完成當前題目時,有兩種情況,一種是答對了,一種是答錯了。

#include

using

namespace std;

int number[

105]

;bool

judge

(int score)

void

find

(int score,

int count)

elseif(

!judge

(score)

)find

(score*

2,count+1)

;find

(score-count,count+1)

;}intmain()

return0;

}

藍橋杯有獎猜謎

這道題不難,具體內容主要介紹tochararray 這個方法,如何用,什麼時候用 小明很喜歡猜謎語。最近,他被邀請參加了x星球的猜謎活動。每位選手開始的時候都被發給777個電子幣。規則是 猜對了,手裡的電子幣數目翻倍,猜錯了,扣除555個電子幣,扣完為止。小明一共猜了15條謎語。戰果為 vxvxvx...

備戰藍橋 the first question

問題描述 考慮如下的序列生成演算法 從整數 n 開始,如果 n 是偶數,把它除以 2 如果 n 是奇數,把它乘 3 加1。用新得到的值重複上述步驟,直到 n 1 時停止。例如,n 22 時該演算法生成的序列是 22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1 人們...

備戰藍橋 the third question

問題描述 x星球居民小區的樓房全是一樣的,並且按矩陣樣式排列。其樓房的編號為1,2,3.當排滿一行時,從下一行相鄰的樓往反方向排號。比如 當小區排號寬度為6時,開始情形如下 1 2 3 4 5 6 12 11 10 9 8 7 13 14 15 我們的問題是 已知了兩個樓號m和n,需要求出它們之間的...