csp試題2 遊戲

2021-09-27 07:51:29 字數 1484 閱讀 7824

有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,意義如題目所述。

輸出格式

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

樣例1

輸入:

5 2
輸出:

3
樣例2

輸入:

7 3
輸出:

4
資料規模和約定

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

模擬執行類的的題目。遊戲的進行過程就是解題思路。具體過程已在**中用注釋給出。

/*

20190922

csp試題2:遊戲

*/#include

using

namespace std;

intmain()

int number =1;

//報的數字

int index =0;

//用於選擇該哪乙個小朋友

int rest_num = n;

//剩下的人數

while

(rest_num !=1)

//選擇下乙個小朋友

index++

; number++;}

else

//3.當這一輪進行到最後乙個小朋友時,從頭開始

if(index == n)

//4.判斷是否只剩下乙個小朋友

rest_num = n;

for(

int i=

0; i}//5.輸出

for(

int i=

0; ireturn0;

}

這類模擬執行類的題目還是相對較簡單的。在最後對stu[ ]進行了兩次迴圈遍歷,當然有while迴圈,實際上不止兩次,這段**還可以再進行優化。

csp試題2 消除類遊戲

問題描述 消除類遊戲是深受大眾歡迎的一種遊戲,遊戲在乙個包含有n行m列的遊戲棋盤上進行,棋盤的每一行每一列的方格上放著乙個有顏色的棋子,當一行或一列上有連續三個或更多的相同顏色的棋子時,這些棋子都被消除。當有多處可以被消除時,這些地方的棋子將同時被消除。現在給你乙個n行m列的棋盤,棋盤中的每乙個方格...

csp試題2 買菜

問題描述 小h和小w來到了一條街上,兩人分開買菜,他們買菜的過程可以描述為,去店裡買一些菜然後去旁邊的乙個廣場把菜裝上車,兩人都要買n種菜,所以也都要裝n次車。具體的,對於小h來說有n個不相交的時間段 a1,b1 a2,b2 an,bn 在裝車,對於小w來說有n個不相交的時間段 c1,d1 c2,d...

csp試題2 小明放學

題目背景 漢東省政法大學附屬中學所在的光明區最近實施了名為 智慧型光明 的智慧型城市專案。具體到交通領域,通過 智慧型光明 終端,可以看到光明區所有紅綠燈此時此刻的狀態。小明的學校也安裝了 智慧型光明 終端,小明想利用這個終端給出的資訊,估算自己放學回到家的時間。問題描述 一次放學的時候,小明已經規...