报数排除

来源:互联网 发布:java技术培训机构 编辑:程序博客网 时间:2024/04/20 18:22

感觉标题叫做:固定数字排除也不错,嘿嘿

//问题:有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位#include<iostream>using namespace std;#define N 100int Num(){    int n ,m=0,j=0,k=0;    cin >> n;    int num[N];    int * p = num;    for (int i = 0; i < n; i++)    {        *(p + i) = i + 1;    }    while (m<n-1)    {        if (p[j] != 0 )        {            k++;        }        if (k == 3)        {            p[j] = 0;            k = 0;            m++;        }        j++;        if (j == n)        {            j = 0;        }        while (*p == 0)        {            p++;        }    }    return *p;}
0 1