一群猴子要選新猴王。新猴王的選擇方法是:讓n只候選猴子圍成一圈,從某位置起順序編號為1~n號。從第1號開始報數,每輪從1報到3,凡報到3的猴子即退出圈子,接著又從緊鄰的下乙隻猴子開始同樣的報數。如此不斷迴圈,最後剩下的乙隻猴子就選為猴王。請問是原來第幾號猴子當選猴王?
輸入格式:
輸入在一行中給乙個正整數n(≤1000)。
輸出格式:
在一行中輸出當選猴王的編號。
輸入樣例:
11輸出樣例:
7看了約瑟夫環問題後寫了乙個差不多的。
不對的地方希望大家多指出交流ya~#include
#include
typedef
struct node
node;
node *p;
node *r;
intmain()
r->next=head;
//尾結點指向頭節點。迴圈鍊錶建立完成。
p=head;
while
(p->next!=p)
//當p->next==p時,鍊錶中只剩乙個結點。即為要輸出的數
else
}printf
("%d"
,p->num)
;//輸出編號即可
}
7 28 猴子選大王(20 分)
7 28 猴子選大王 20 分 一群猴子要選新猴王。新猴王的選擇方法是 讓n只候選猴子圍成一圈,從某位置起順序編號為1 n號。從第1號開始報數,每輪從1報到3,凡報到3的猴子即退出圈子,接著又從緊鄰的下乙隻猴子開始同樣的報數。如此不斷迴圈,最後剩下的乙隻猴子就選為猴王。請問是原來第幾號猴子當選猴王?...
7 28 猴子選大王 (20 分
一群猴子要選新猴王。新猴王的選擇方法是 讓n只候選猴子圍成一圈,從某位置起順序編號為1 n號。從第1號開始報數,每輪從1報到3,凡報到3的猴子即退出圈子,接著又從緊鄰的下乙隻猴子開始同樣的報數。如此不斷迴圈,最後剩下的乙隻猴子就選為猴王。請問是原來第幾號猴子當選猴王?輸入格式 輸入在一行中給乙個正整...
7 28 猴子選大王 20分
題目 一群猴子要選新猴王。新猴王的選擇方法是 讓n只候選猴子圍成一圈,從某位置起順序編號為1 n號。從第1號開始報數,每輪從1報到3,凡報到3的猴子即退出圈子,接著又從緊鄰的下乙隻猴子開始同樣的報數。如此不斷迴圈,最後剩下的乙隻猴子就選為猴王。請問是原來第幾號猴子當選猴王?輸入格式 輸入在一行中給乙...