n个人围成一圈并按顺序编号。从第一个人报数,凡是报到3的人退出圈子,下一个人从一开始报号。求解最后退出圈子的成员编号

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int arr[20];
    int n;
    scanf("%d",&n);
    int count=0,num=3,index=0,remain=n;
    int i;
    for(i=0;i<n;i++) arr[i]=i;
    while(1)
    {
        if((++count)==num)
        {
            printf("%d\n",arr[index]);
            count=0;
            remain--;
        }
        if(index<n-1) index++;
        else index=0;
        if(remain==0) break;
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_39350434/article/details/81159070