PTA 猴子選大王

2021-10-07 19:19:22 字數 662 閱讀 4684

一群猴子要選新猴王。新猴王的選擇方法是:讓n只候選猴子圍成一圈,從某位置起順序編號為1~n號。從第1號開始報數,每輪從1報到3,凡報到3的猴子即退出圈子,接著又從緊鄰的下乙隻猴子開始同樣的報數。如此不斷迴圈,最後剩下的乙隻猴子就選為猴王。請問是原來第幾號猴子當選猴王?

輸入在一行中給乙個正整數n(≤1000)。

在一行中輸出當選猴王的編號。

程式**:

#include

#include

int a[

1001];

//定義乙個讓猴子重新圍成乙個圈的函式

voidrr(

int w,

int n)

}int

main()

//n從11到2共退出十個猴子

//退出乙個猴子後,後面的每個猴子向前移一位,所以i每次只需要加2

for(

int i =

3;n >

1;i = i+2)

//剩下的第乙個即為猴王

printf

("%d"

, a[1]

);return0;

}

PTA 5 28 猴子選大王

一群猴子要選新猴王。新猴王的選擇方法是 讓n只候選猴子圍成一圈,從某位置起順序編號為1 n號。從第1號開始報數,每輪從1報到3,凡報到3的猴子即退出圈子,接著又從緊鄰的下乙隻猴子開始同樣的報數。如此不斷迴圈,最後剩下的乙隻猴子就選為猴王。請問是原來第幾號猴子當選猴王?輸入在一行中給乙個正整數n 10...

鍊錶 PTA 猴子選大王

一群猴子要選新猴王。新猴王的選擇方法是 讓n只候選猴子圍成一圈,從某位置起順序編號為1 n號。每只猴子預先設定乙個數 或稱定數 用最後乙隻猴子的定數d,從第一只猴子開始報數,報到d的猴子即退出圈子 當某只猴子退出時,就用它的定數決定它後面的第幾隻猴子將在下次退出。如此不斷迴圈,最後剩下的乙隻猴子就選...

PTA 約瑟夫環(猴子選大王) 詳解

n個人圍成一圈順序編號,從1號開始按1 2 3 順序報數,報p者退出圈外,其餘的人再從1 2 3開始報數,報p的人再退出圈外,以此類推。請按退出順序輸出每個退出人的原序號。輸入格式 輸入只有一行,包括乙個整數n 1 n 3000 及乙個整數p 1 p 5000 輸出格式 按退出順序輸出每個退出人的原...