 All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars  perplexus dot info  Whadduzitdo? (Posted on 2005-01-14) Given positive, integer N, what does this algorithm produce?
```let S and D = N
repeat
let D = ⌊D/2⌋
subtract D from S
until D=0
produce S as the result```
Note: ⌊x⌋ represents the integer part of x.

For non-programmers: start with a positive, integer number (say, 19). Divide it by 2, discarding remainders, until you get to 0. (In this case, you'd get 9, 4, 2, and 1.) Sum all the quotients. (9+4+2+1=16.) Subtract the sum from the original number. (19-16=3.) What's the result?

 See The Solution Submitted by e.g. Rating: 3.7143 (7 votes) Comments: ( Back to comment list | You must be logged in to post comments.) Solution | Comment 6 of 9 | Didn't read any of the other solutions yet, but it appears to be the number of "1"s in the binary representation of N.  In binary, dividing by 2 is just a shift to the right.  If the right most digit is a 1, lop it off and add 1 to the result.
 Posted by Larry on 2005-01-14 23:42:34 Please log in:

 Search: Search body:
Forums (2)