#include <stdio.h>
main()
{
   int  N = 10; /*定义人数*/
   int i,k,a[N+1];
   k=0;/*报数用*/
   a[0]=N;/*统计剩下的人数*/
  /*开始N个人都在圈子内，所以每一个都是1*/
   for(i=1;i<=N;i++)
      a[i]=1;
while(a[0]>1)/*剩下的人多于1*/
   {
      for(i=1;i<=N;i++)
      {
	      if(a[i]==1)/* 第i个人在圈子里*/
	      {
			  k++;/*报数 使K加1*/
			  if(k==3)  /*如果K为3*/
			  {
				 a[i]=0;  /*报3的人退出  设置其状态值为0*/
				 k=0;     /*下一次从1开始报*/
				 a[0]--;  /*第 i 人出圈 */
              }
		   }      	
      }
   }  

   /* 检测完毕，整个数组 只有一个1，其余为0*/
i=1;
   while(i<=N)
   {
      if(a[i]==1)
         break;
i++;
   } 
printf("%d个人游戏，最终剩下的是第 %d 位人\n",N,i);
}
