157k views
0 votes
5 write a recursive method that returns the number of 1's in the binary representation of n. use the fact that this is equal to the number of 1's in the representation of n/2, plus 1, if n is odd.

User Jeem
by
7.4k points

1 Answer

6 votes
Assuming n is a decimal number.
Divide n by 2 repeatedly, and summing the remainders will give the number of one's in binary representation.

pseudocode of algorithm:
Enter value of n:
sum=0;
while n>0 {
sum=mod(n,2);
n=n/2 [integer division]
}
Display n, sum


User Dhumil Agarwal
by
9.2k points
Welcome to QAmmunity.org, where you can ask questions and receive answers from other members of our community.

9.4m questions

12.2m answers

Categories