Validator seems broken.
Expected assignment, comment or return statement but " " found.
When trying to get rid of parse errors, I did something like "return x" and it says Solution did not return correct output for x=1. Expected output: 1, got: 0
Which is clearly not right.Just tried doing "return 1" and still got
Solution did not return correct output for x=1. Expected output: 1, got: 0For what it's worth, here's my answer: 1>>(x&~(~x+1))&~(1>>x) . (I didn't figure out that the tester was broken before I developed my answer.)
I tested it with positive integers on Python. I haven't tried it with negatives in Javascript.
The '(x&~(~x+1))' is a work-around to get 'x&(x-1)', which is 0 if x is a power of two. The (1>> value) is a workaround to get "value == 0". Thus, '1>>(x&~(~x+1))' means 'is x a power of two?'
The ~(1>>x) means 'is x == 0'. Combine the two together gives 1 if a single bit is set, else 0.
function one_bit(x) {
return 1
}
Solution did not return correct output for x=1. Expected output: 1, got: 0
umm... ok function one_bit(x) {
return x & (x-1) == 0
}
Only to see this error: Expected "}" or comment but "&" found.
WATfunction one_bit(x) { return x & (x-1) == 0 ? 1 : 0; }
Oops, i'll fix it.