問題 1443 藍橋杯 歷屆試題 數字遊戲

2021-08-17 08:39:02 字數 1196 閱讀 9029

數字遊戲

題目描述

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

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

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

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

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

樣例說明

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

資料規模和約定

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

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

輸出

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

樣例輸入

3  13  3

樣例輸出

17

求餘的話從2開始測試  

發現當k為偶數時   以此迴圈有2*k個數

當k為奇數時   有k個數

所以求出一組數 然後累加即可

#include#includeusing namespace std;

typedef long long int ll;

ll a[2000100];

ll sum=0;

int main()

for(ll i=0;isum += a[i%(2*k)];

}else

for(ll i=0;isum += a[i%k];

}printf("%lld\n",sum);

return 0;

}

1443 藍橋杯 歷屆試題 數字遊戲

為了使數字不至於太大,當在心中數到 k 1 時,下乙個數字從0開始數。ps 相當於取模 例如,當k 13時,棟棟和同學們報出的前幾個數依次為 1,2,4,7,11,3,9,3,11,7。遊戲進行了一會兒,棟棟想知道,到目前為止,他所有說出的數字的總和是多少。棟棟說出的數依次為1,7,9,和為17。資...

藍橋杯 歷屆試題 數字遊戲

這道題給了乙個很明顯的乙個序列,那麼就是數列可以一次寫為 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和...

藍橋杯歷屆試題 回文數字

問題描述 觀察數字 12321,123321 都有乙個共同的特徵,無論從左到右讀還是從右向左讀,都是相同的。這樣的數字叫做 回文數字。本題要求你找到一些5位或6位的十進位制數字。滿足如下要求 該數字的各個數字之和等於輸入的整數。輸入格式 乙個正整數 n 10輸出格式 若干行,每行包含乙個滿足要求的5...