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.
Resolvsed with actual random location tests.
Please could you run again to confirm that the issue has been dealt with?
I have removed the original test that used a bad randomising method. I have also implemented a new shape which is very large (111 a bit big I know but I will change kata description to match). This one makes use of completely random coordinates to test again as I cannot think of how to nicely and efficiently generate random shapes which do not overlap at this moment in time. I am sure if needed I can implement it, but for now it should be fine.
I will ensure that the tests are random. Thank you for making me aware.
The random tests are not actually random: see this
Resolved
function name should be snake_case
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.
Yes this helps, thank you
For 42 pieces you have 3 options since we are not including side length 1:
2 * 21
this option gives 0 inner pieces since every piece has a flat side. Therefore inner - outer = -42 . . .
3 * 14
This time the inner pieces are 1 * 12 which is 12. Total outer pieces are 30. so inner - outer = -18
6 * 7 . . .
there are 4 * 5 inner pieces for 20 inner and thus 22 outer pieces. 20 - 22 = -2
Most negative difference is -42 and most positive difference is -2 as it is the most positive of all of the options. Hope that helps.
So how do you explain this? Where does -42 and -2 come from?
This issue should now be fixed with the tests, but if I still have it incorrect and your solution is giving you difficulty just reply and I will get on it ASAP.
Loading more items...