(C語言)猴子選大王

2021-09-29 16:16:58 字數 590 閱讀 1037

問題描述

要從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 當猴子數...