問題描述
要從n只猴子中選出一位大王。它們決定使用下面的方法:
n只猴子圍成一圈,從1到n順序編號。從第q只猴子開始,從1到m報數,凡報到m的猴子退出競選,下一次又從退出的那只猴子的下乙隻開始從1到m報數,直至剩下的最後乙隻為大王。請問最後哪只猴子被選為大王。
輸入形式
控制台輸入三個整數n,m,q
輸出形式
輸出最後選為大王的猴子編號
樣例輸入
7 4 3
樣例輸出
4樣例說明
輸入整數n = 7,m = 4,n = 3,輸出4
解題思路:每一次迴圈後,退出猴子後的陣列依次前移乙個位置
#include
intmain()
for(j=q;j<=n-i+
1;j++
) a[j]
=a[j+1]
;//將退出的猴子覆蓋,後面的依次前移一位
if(q==n-i+1)
q=1;
}printf
("%d"
,a[1])
;return0;
}
C語言 猴子選大王問題
pta基礎程式設計題目集 7 28 猴子選大王 題目簡介 一群猴子要選新猴王。新猴王的選擇方法是 讓n只候選猴子圍成一圈,從某位置起順序編號為1 n號。從第1號開始報數,每輪從1報到3,凡報到3的猴子即退出圈子,接著又從緊鄰的下乙隻猴子開始同樣的報數。如此不斷迴圈,最後剩下的乙隻猴子就選為猴王。請問...
C 猴子選大王
要求編寫乙個函式king,實現猴子選大王的功能。新猴王的選擇方法是 讓n只候選猴子圍成一圈 最多100只猴子 從某位置起順序編號為1 n號。從第1號開始報數,每輪從1報到3,凡報到3的猴子即退出圈子,接著又從緊鄰的下乙隻猴子開始同樣的報數。如此不斷迴圈,最後剩下的乙隻猴子就選為猴王。測試輸入 5 預...
猴子選大王
方法一 include int main 初始化猴子全沒出局 值為0 int count 0 排除的猴子數量 int key 0 剩下的資料索引,即最後要得到的是陣列中第幾隻猴子是大王 int i 0,index 0 i代表計數器1 7,index代表陣列下標 while count 14 當猴子數...