10931 - Parity

#include <stdio.h> 

int main() 
  { 
  long a,i,b[100],sum; 
  while(scanf("%ld", &a) && a) 
    {
    sum=0;
    i=0; 

    if(a==1) 
      printf("The parity of 1 is 1 (mod 2).\n"); 
 
    else 
         { 
          while(1) 
            { 
             b[i]=a%2; 
             a=a/2; 
             i++; 
             if(a==1) 
                { 
                b[i]=0; 
                b[i++]=1; 
                break; 
                } // End of if 
            } //End of while 
        printf("The parity of "); 
        for(long k=i-1;k>=0;k--) 
            { 
            if(b[k]==1) 
            sum=sum+1; 
            printf("%ld",b[k]); 
            } // End of for 
        printf(" is %d (mod 2).\n",sum); 
        }//End of else 
    }//End of while 
  } // End of main

Comments