CCF報數遊戲

2021-08-26 11:56:02 字數 992 閱讀 3498

有n個小朋友圍成一圈玩遊戲,小朋友從1至n編號,2號小朋友坐在1號小朋友的順時針方向,3號小朋友坐在2號小朋友的順時針方向,……,1號小朋友坐在n號小朋友的順時針方向。

遊戲開始,從1號小朋友開始順時針報數,接下來每個小朋友的報數是上乙個小朋友報的數加1。若乙個小朋友報的數為k的倍數或其末位數(即數的個位)為k,則該小朋友被淘汰出局,不再參加以後的報數。當遊戲中只剩下乙個小朋友時,該小朋友獲勝。

例如,當n=5, k=2時:

1號小朋友報數1;

2號小朋友報數2淘汰;

3號小朋友報數3;

4號小朋友報數4淘汰;

5號小朋友報數5;

1號小朋友報數6淘汰;

3號小朋友報數7;

5號小朋友報數8淘汰;

3號小朋友獲勝。

給定n和k,請問最後獲勝的小朋友編號為多少?

輸入格式

輸入一行,包括兩個整數n和k,意義如題目所述。

輸出格式

輸出一行,包含乙個整數,表示獲勝的小朋友編號。

樣例輸入

5 2樣例輸出

樣例輸入

7 3樣例輸出

資料規模和約定

對於所有評測用例,1 ≤ n ≤ 1000,1 ≤ k ≤ 9。

分析:因為數字不大,直接模擬來做。

宣告乙個bool型別的陣列,用它來表示各個小朋友的狀態。

淘汰的條件是k的倍數或者對10取餘數為k;

注意當k=1的情況。

#includeusing namespace std;

int main()

int shuzi = 0;

bool you = true;

while (you)}}

} }for (int i = 0; i < n; i++) }

}

CCF認證考試 報數

這道題主要的目的是輸出甲乙丙丁所跳過的數,他們報數的順序都是甲乙丙丁 甲乙丙丁 這樣迴圈的,所以思路也很簡單,就是從1開始遍歷,直到報數的數目 n。我這裡設計了兩個計數器,乙個是用來記遍歷的數 total 乙個是記所報的數的數量 i 在遍歷的過程中,如果total滿足跳過的條件,就讓total來對4...

迴圈報數遊戲。

迴圈報數遊戲,有n個人,每乙個人編號從1開始,依次編號到n。從1到3報數,報3的退出遊戲,得出最後獲勝人的編號 關鍵在於構成環的這個下標問題如何解決?解題思路 解決了構成環的關鍵問題,接下來就是依次遍歷計數,當報到3的那個給乙個標記 1,相應的陣列長度要減少。且計數重新開始,最後,重新遍歷一遍,返回...

CCF認證 201912 1 報數 (100分)

前言 本人大二在讀煤渣一枚,期末做課設才接觸到ccf,就去了解了一下這個認證考試,覺得很有含金量,就下定決心要考個高分,計畫每2 3天做一道題吧,刷題熟悉套路也鍛鍊自己演算法設計,有時文末附大佬解題方法,做參考同時也對比找到自己的差距。ccf認證 201912 1 報數 100分 一般第一題都比較簡...