Answer to Question 14A-2

void WriteInBinary(const int n)
{
  if(n < 2)
  {
    printf("%i", n);
  }
  else
  {
    WriteInBinary(n/2);
    printf("%i", n%2);
  }
}

Notice that, if n < 2, then n % 2 = n. That allows us to shorten the above definition as follows.

//=======================================================
//                    WriteInBinary
//=======================================================
// WriteInBinary(n) writes out the binary representation
// of n.
//=======================================================

void WriteInBinary(const int n)
{
  if(n ≥ 2)
  {
    WriteInBinary(n/2);
  }
  printf("%d", n%2);
}