藍橋杯 歷屆試題 數字遊戲(C )

2021-10-06 19:05:12 字數 1004 閱讀 3293

3 13 3

樣例輸出:

樣例說明:

棟棟說出的數依次為1, 7, 9,和為17。

資料規模和約定:

1 < n,k,t < 1,000,000;

思路一:

找規律,以題目給的輸入輸出為例:

實現**:

#include

.h>

using namespace std;

int main()

} int sum=0;

for(int i=

0;i<

t;i++

) cout<

return0;

}

思路二:用遞迴來做,a[i]=(a[i-1]+i)%k。

後三個測試用例錯誤,暫時不清楚錯誤原因。

思路三:

通過網上檢視其它人的部落格,思路,prev-23 歷屆試題 數字遊戲.

以題目的輸入輸出為例:

棟棟首先說出數字1

加上的數是遞增的等差數列,第乙個數為1,公差也為1,所以可以直接求出棟棟喊出1後的第二個數也就是1+(1+2+3)=7

在下乙個數就是7+(4+5+6)=22 再對k取餘也就是9

#include

.h>

using namespace std;

int main()

cout<

return0;

}

藍橋杯 歷屆試題 數字遊戲

這道題給了乙個很明顯的乙個序列,那麼就是數列可以一次寫為 1 0 1 0 1 1 0 1 2 1 0 1 2 3 1 0 1 2 n 1 這樣就轉化為1加上乙個等差數列,那麼直接按照等差數列求和公式sn a1 an n 2 這樣就很容易求出答案。但是中間用公式的時候會用到i n i n 1 注意i和...

藍橋杯 歷屆試題 數字遊戲

先看到資料規模,如果純暴力的話10 6 10 6肯定是要超時的,所以我們要想辦法優化,因為我們只關心棟棟報出的數字總和,我們又知道了其他人報的規律是前面乙個人的 1 2 3 4這樣報的,那麼換句話來說,我們只要知道每迴圈一組總共加了多少,把這些總和加起來加到棟棟上次報的數字上,就能知道棟棟這次報的數...

藍橋杯 歷屆試題 數字遊戲

時間限制 1sec 記憶體限制 128mb 提交 612 解決 78 題目描述 棟棟正在和同學們玩乙個數字遊戲。遊戲的規則是這樣的 棟棟和同學們一共n個人圍坐在一圈。棟棟首先說出數字1。接下來,坐在棟棟左手邊的同學要說下乙個數字2。再下面的乙個同學要從上乙個同學說的數字往下數兩個數說出來,也就是說4...