View Code of Problem 80

#include<stdio.h>
#include<stdlib.h>
#include<string.h> 
int getn(int a[],int n)
{
	int i=0;
	for(int k=1;k<=n;k++)
		if(a[k]==1)
			i++;
	return i;
}
int main()
{
	int a[10000];
	int n,count=0;
	int num=n,p=1;
	while(1)
	{
		scanf("%d",&n);
		if(n==0)
			return 0;
		for(int i=1;i<=n;i++)
			a[i]=1;
		count=0;p=1;
		num=n;
		while(num>1)
		{
			
			if(a[p]==1)
				count++;
			if(count==3)
			{
				a[p]=0;
				count=0;
			}
			num=getn(a,n);
			p++;
			if(p>n)
				p=p-n;
			
		}
 		for(int m=1;m<=n;m++)
			if(a[m]==1)
				printf("%d\n",m);
		
	}
	
	return 0;
	
}

Double click to view unformatted code.


Back to problem 80