Ad
  • Default User Avatar

    I solve it with using integer->string conversions, then without using integer->string conversions. But everytime a have Execution Timed Out (12000 ms)

  • Default User Avatar

    no, it returns with commas

  • Default User Avatar

    But this solution return number without "," (commas)

  • Custom User Avatar

    Resolved.

  • Default User Avatar

    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.

  • Custom User Avatar

    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.

  • Custom User Avatar

    I'm not really sure I understand your issue, but it seems like a code issue to me. You can represent 4 as 2 + 1 + 1, just like you can represent 16 as 8 + 4 + 4, and 256 as 128 + 64 + 64. I guess your assumption is wrong..?

  • Default User Avatar

    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 = 2
    0 + 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.

  • Custom User Avatar

    There is a trick to do it, which doesnt require searching for every possible combination. Hint: think about why its specifically powers of 2?

  • Default User Avatar

    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