一群猴子,編號是1,2,3 …m,這群猴子(m個)按照1-m的順序圍坐一圈。從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,最後乙隻出圈的猴子為大王。輸入m和n,輸出猴子離開圈子的順序,從中也可以看出最後為大王是幾號猴子。
要求採用陣列作為儲存結構完成。
在乙個陣列中,陣列中用1表示猴子在圈中,用0表示猴子已經出圈,陣列下標對應與猴子編號對應(例如陣列元素p[0]值為1,表示第1只猴子尚在圈中,即p[i]代表編號為i+1的猴子是否在圈中)。
乙隻猴子出圈,則將對應的陣列值置為0;在報數過程中,要跨過值為0的猴子。
若m=8, n=4,初始時陣列如下:
其中有3只猴子出圈後,陣列中的值如下:
數到最後乙隻猴子時需要折回到下標為0的位置,猴子出圈後,還將對應元素的值置為0。見**注釋。
#include #define maxsize 8
void king(int m,int n)
printf("\n");
}int main()
//下面的程式有bug,作為反面案例
#include #define maxsize 8
void king(int m,int n)
p[t]=0; //猴子出圈
printf("%d ",t+1); //輸出出圈猴子的編號
t=(t+1)%m; //再報數時,從下乙隻猴子開始
}printf("\n");
}int main()
第八周 2 專案1 猴子選大王(陣列版)
檔名稱 29.cpp 作 者 尚文哲 完成日期 2017年10月25日 問題描述 一群猴子,編號是1,2,3 m,這群猴子 m個 按照1 m的順序圍坐一圈。從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,最後乙隻出圈的猴子為大王。輸入m和n,輸出猴子離開圈子的順序,從中也可以看出最後...
第八周實踐專案6 猴子選大王(陣列版)
檔名稱 專案6 一群猴子,編號是1,2,3 m,這群猴子 m個 按照1 m的順序圍坐一圈。從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,最後乙隻出圈的猴子為大王。輸入m和n,輸出猴子離開圈子的順序,從中也可以看出最後為大王是幾號猴子。作 者 邵雪源 完成日期 2017年12月14日...
第九周專案一 猴子選大王(陣列版)
問題及 all right reserved.檔名稱 猴子選大王 陣列版 cpp 完成日期 2015年10月26日 版本號 v1.0 問題描述 一群猴子,編號是1,2,3 m,這群猴子 m個 按照1 m的順序圍坐一圈。從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,最後乙隻出圈的猴子...