有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数
生活随笔
收集整理的這篇文章主要介紹了
有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
- 【問題描述】有n個(gè)人圍成一圈,按順序從1到n編號。從第一個(gè)人開始報(bào)數(shù),報(bào)數(shù)3的人退出圈子,下一個(gè)人從1開始重新報(bào)數(shù),報(bào)數(shù)3的人退出圈子。如此循環(huán),直到留下最后一個(gè)人。問留下來的人的編號。
- 【輸入形式】輸入人數(shù) n
- 【輸出形式】輸出依次退出的人的編號,和最后留下的人的編號
初步實(shí)現(xiàn)功能
int main() {int i, j = 0, k = 0, n;int a[30] = {0};//數(shù)組多大最大 N的上限printf("請輸入有幾個(gè)人玩游戲:");scanf("%d", &n);for (i=0; i<n; i++){a[i] = 1;//1代表活著,0代表出局}for (i=1; i<4; i=i%3+1)//控制i的值在[0,3]{if (3==i && a[j]!=0){a[j] = 0;printf("%d號玩家出局\n", j+1);k++;if (n-1 == k)break;j = (j+1)%n;continue;}if (0 == a[j]){j = (j+1)%n;i--;continue;}j = (j+1)%n;}for (i=0; i<n; i++){if (1 == a[i])printf("%d號玩家活到的最后\n", i+1);} }
?
總結(jié)
以上是生活随笔為你收集整理的有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 邮票孔的间距
- 下一篇: 建立一个通讯录的结构记录,包括姓名、年龄