10935 - Throwing cards away I

#include<stdio.h>
int main()
{
    int a,b,arr[100],m,n,i,j,k,l,arr1[100],count;
    while(scanf("%d",&n)==1)
    {
        if(n==0)
        {
            break;
        }
        count=0;
        k=0;
        a=0;
        for(i=1; i<=n; i++)
        {
            arr[i]=i;
        }
        i=0;
        while(1)
        {
            i++;
            for(l=1; l<=n; l++)
            {
                if(arr[l]!=0)
                {
                    a++;
                    b=arr[l];
                }
            }
            if(a==1)
            {
                break;
            }
            if(arr[i]!=0)
            {
                count++;
            }
            for(j=i; j<=i; j++)
            {
                if(count%2==1&&arr[i]!=0)
                {
                    arr1[k]=j;
                    k++;
                    arr[j]=0;
                }
                if(i==n)
                {
                    i=0;
                }
            }
            a=0;
        }
        printf("Discarded cards:");
        for(m=0;m<k;m++)
        {
            printf(" %d",arr1[m]);
            if(m!=k-1)
            {
                printf(",");
            }
        }
        printf("\n");
        printf("Remaining card: %d\n",b);
    }
    return 0;
}

0 comments: (+add yours?)