藍橋杯 歷屆試題 數字遊戲 (等差數列求和)

2021-09-02 11:09:35 字數 1270 閱讀 3387

問題描述

棟棟正在和同學們玩乙個數字遊戲。

遊戲的規則是這樣的:棟棟和同學們一共n個人圍坐在一圈。棟棟首先說出數字1。接下來,坐在棟棟左手邊的同學要說下乙個數字2。再下面的乙個同學要從上乙個同學說的數字往下數兩個數說出來,也就是說4。下乙個同學要往下數三個數,說7。依次類推。

為了使數字不至於太大,棟棟和同學們約定,當在心中數到 k-1 時,下乙個數字從0開始數。例如,當k=13時,棟棟和同學們報出的前幾個數依次為:

1, 2, 4, 7, 11, 3, 9, 3, 11, 7。

遊戲進行了一會兒,棟棟想知道,到目前為止,他所有說出的數字的總和是多少。

輸入格式

輸入的第一行包含三個整數 n,k,t,其中 n 和 k 的意義如上面所述,t 表示到目前為止棟棟一共說出的數字個數。

輸出格式

輸出一行,包含乙個整數,表示棟棟說出所有數的和。

樣例輸入

3 13 3

樣例輸出

17

樣例說明

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

資料規模和約定

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

棟棟第 i 次 和第 i +1 次喊出數字之間的增量構成等差數列。

樣例中 1, 2, 4, 7,棟棟第一次喊出1,第二次為7.

增量分別為 1 + 1, 1 + 2,1 + 3.,可以得到下乙個數字為 1 + 3 * (1 + 3) / 2 [等差數列求和公式],按題目要求對 k 取餘。

遞推 t - 1 次即可得到答案。

#include #include using namespace std;

long long num=1,n,k,t;

long long ans = 1,l,r;

int main()

cout << ans;

return 0;

}

標題 等差數列 藍橋杯

2,3,5,7,11,13,是素數序列。類似 7,37,67,97,127,157 這樣完全由素數組成的等差數列,叫等差素數數列。上邊的數列公差為30,長度為6。2004年,格林與華人陶哲軒合作證明了 存在任意長度的素數等差數列。這是數論領域一項驚人的成果!有這一理論為基礎,請你借助手中的計算機,滿...

藍橋杯 PREV 23 數字遊戲(等差數列)

藍橋杯 prev 23 數字遊戲 試題 歷屆試題 數字遊戲 資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 棟棟正在和同學們玩乙個數字遊戲。遊戲的規則是這樣的 棟棟和同學們一共n個人圍坐在一圈。棟棟首先說出數字1。接下來,坐在棟棟左手邊的同學要說下乙個數字2。再下面的乙個同學要從...

藍橋杯 等差數列(C語言)

解決方案 1.找出5個數中兩數最小之差 假定公差 2.從5個數的最小項開始加公差,加到大於等於5個數的最大項後,看是否遍及5項的每一項。遍及 確定公差 未遍及 擬公差減一 最壞情況公差為1 include stdio.h void out int gc,int a printf d sum intq...