ex5_3.cpp
来自「谭浩强 c程序学习时的程序 希望对初学者有借鉴意义」· C++ 代码 · 共 27 行
CPP
27 行
//17个人围成圈,编号为1~17,从第1号开始报数,报到3的倍数的人离开
//一直数下去,直到最后只剩下1人。求此人的编号。
#include <stdio.h>
void main()
{
const int m=17;
int i,j,num;
int a[m]={0};
for (i=0;i<m;i++) //给每个人编号1~m
a[i]=i+1;
i=-1;
for (int k=1;k<=m;k++)
{
j=1;
while (j<=3)
{
i=(++i)%m;
if (a[i]) //如果此人已经离开,则跳过.
j++;
}
num=a[i];
a[i]=0;
}
printf("最后一个离开的人编号为%d\n",num);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?