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.
JavaScript Translation
I suppose this task was made specifically for Ruby, but you can do the same thing in JS too
Do you know what
890625n
is?Do you know what big integers are in JS?
EDIT: OH I am stupid, and the kata is Ruby only.
how do i solve this ? expected '890625n' to equal 890625n
@Iron Fingers, the random tests call
to_i
to check if the result type is an Integer. Then it callsto_i
again to check the value, not on the return value of the firstto_i
. If your implementation resets the number on the first call toto_i
, just cache the last value and return it on the repeat call.Why is there a discrepancy between fixed and random tests?
(Can you see this ^?)
I tried applying the to_i twice in the sample tests and it does work. Like you said applying to_i to an Integer shouldn't return 0 and it clearly is not returning 0 in the sample tests. Not sure what else to try.
yup, this was after farekkusu's update. the function
to_i
is called two times in random tests, and only once in sample tests.Just try to get rid of that, you'll be done.
Honestly I don't think this can be treated as an issue, because applying
.to_i
onInteger
should not return0
.I am seeing a very peculiar issue. All random tests fail saying that my code is returning 0. However if I try for the same number in my own tests they pass.
Fixed.
Needs random tests
My 2 cents:
While in a "learning" perspective this would be considered "cheating" as it completely misses the (might or might not exist) lesson, it's completely irrelevant to what best practice is. Best practice is simply the most efficient and readable code, period. Showing the explicit form as the best practice teaches you to not blindly applying loops to problems all the time, just like you'd always use good external libraries and built-in objects so you wouldn't have to reimplement everything or write code in a too low-level manner. That's how programming irl works.
This comment is hidden because it contains spoiler information about the solution
This comment is hidden because it contains spoiler information about the solution
First, how would deriving the series math not be the best practice (even from a learning perspective)? Loops and recursion are costly, and I find a lot of my job (software engineer) is reducing inefficiencies in hastily-written code. When presented with a series, every programmer's second thought (the first being, of course, loop or recurse this) should be, "Can I math it?" This is the 6th kyu; the training wheels are coming off, and efficiency should matter.
Second, everyone should Google everything they don't know at all times. Heck, I derived the series math, but I ended up with an equation with respect to triangular(n + 1) that's less efficient than this one, and it took me 10 times as long to do it. I didn't learn anything doing that, I just applied what I already knew. That's a waste of my time. I could have spent that 10 minutes reading about why the series progresses the way it does, instead of just deriving a solution that works.
In my experience, the problem with a lot of programmers is that they will bull-headedly apply what they know (loop/recurse everything!), even if it only kind of works (or works poorly), instead of finding a different, better approach (Google the series). If someone decides to copy-paste the solution without learning anything, well, that'll only get them so far, even in CodeWars. Additionally, if someone is on CodeWars, they've indicated a desire to better themselves, so I'm willing to give them the benefit of the doubt and assume most people aren't just copy-pasting.
Loading more items...