need c cordings for an algorithm that computes the number of 1's in the binary representation of a non-negative integer n . For example if n = 15 your program should return 4 since the binary representation of 15 is 1111. The program should be a recursive one, based on the following definition of f(n) , the number of 1's in the binary representation of n :

f(n) = f((n-1)/2) + 1 if n is odd

= f(n/2) if n is even

= 0 if n = 0.