#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

void decomp( int n, int b)
{ int t;
  if ( n == 0 ) return;
  t = n % b;
  decomp( n / b, b );
  if ( t > 9 )
      printf("%c", 55 + t );
    else
      printf("%d",   t);
  }


int main( int argc, char *argv[] )
{ 
  int opt;
  char *optlist ="n:b:";

  int base = 2, n = 0;

  while ( ( opt = getopt( argc, argv , optlist) ) > 0  )
	  switch( opt ){
	  case 'n': n    = atoi( optarg ); break;
	  case 'b': base = atoi( optarg ); break;
	  default : printf("\nusage %s -> %s", argv[0], optlist); 
	            exit ( 1 );
	  }
  
  printf("Decomposition de %d en base %d :", n, base);
  decomp( n , base);
 
  return 0;
}
