某個節目組籌畫了一起答題有獎活動。
活動規則如下:
選手需要回答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,需要求出它們之間的...