Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
I solve it with using integer->string conversions, then without using integer->string conversions. But everytime a have Execution Timed Out (12000 ms)
no, it returns with commas
But this solution return number without "," (commas)
Resolved.
Alright my thought process was incorrect. Thanks for the fast response you are 100 % correct. I did not realise i and j can be the same to solve this. That was my problem. Resolved.
I just solved the kata in JS with my solution from other languages and I have no good idea what this issue is about. Everything seems to work as expected? Broken formatting in the original post is not helpful either.
I'm not really sure I understand your issue, but it seems like a code issue to me. You can represent
4
as2 + 1 + 1
, just like you can represent16
as8 + 4 + 4
, and256
as128 + 64 + 64
. I guess your assumption is wrong..?According to instructions tests are invalid for 2 to the power of any number in JavaScript:
Write a function that accepts a number, and checks it can be represented as a sum of exactly 3 powers of 2. (n == 2i + 2j + 2**k, i, j, k >= 0)
--> Since 2 ** 0 = 1, then as far as I can tell you cannot have a value as true which is 2 ** i where i is the value that obtains the number in the test since then you still have + 1 and + 1 for + 2 extra. This needs to be dealt with since: "n = 4: expected false to equal true " is not correct nor 256 or 1024, etc <--
For example:
three_powers(2) # False
three_powers(3) # True, 3 = 20 + 20 + 20
three_powers(5) # True, 5 = 20 + 21 + 21
three_powers(15) # False
Input
1 <= n <= 2 ** 512 - 1
There are 100 performance tests in languages with arbitrary precision integers, and a huge amount in C/Lua.
Note to translators: this kata should NOT be translated into any languages without arbitrary precision integers, as the performance requirements are not guaranteed to be properly enforceable.
If you need I can provide my code for testing purposes since the only ones it fails are the ones which are incorrectly labeled as true for 2 to the power of a single value. Just tell me how.
There is a trick to do it, which doesnt require searching for every possible combination. Hint: think about why its specifically powers of 2?
I can understand how to do it. My function work with small number, but when the input number = 2**69 and higher, than it always return false and note "Exiting potential infinite loop". Who know what to do? I'm coding in JavaScript