View Code of Problem 80

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define Max 50
int main()
{
	int a[Max],n,i,cnt,x;
	while(scanf("%d",&n)!=EOF)
	{
		cnt=0;
		x=n;//防止在使用过程中n被改变; 
		if(n==0) break;
		for(i=1;i<=n;i++)
		{
			a[i]=1;//在圈里标志为1 
		}
		do{
			for(i=1;i<=n;i++)
			{
				if(a[i]!=0) cnt++;
				
				if(cnt==3)
				{
					a[i]=0;
					cnt=0;
					x--;		
				}
			}
		}while(x>1);
		for(i=1;i<=n;i++)
		  if(a[i]!=0)
          printf("%d\n",i);
		
	}
    return 0;
}

Double click to view unformatted code.


Back to problem 80