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.
Because the combination x!(n-x)! is symmetric with respect to n/2. Ever x>n/2 amounts to a term that was already looped over.
The idea sounds tempting, unfortunately you would not only need to be a reasonable coder, but a rather brilliant mathematician.
Numbers that do not end in palindromes after any number of iterations are called Lychrel numbers.
There are no such verified numbers in base 10. The smallest candidate is 196, which has apparently been iterated around six billion times or so and has not failed yet. Of course a computer can never provide a proof in any finite time by simply iterating the algorithm.
You are right, what's obvious is usually far from it. Incidentally I had to modify my orginal code, because it began iterating with
x=1
. When I saw the error, I knew immediately what went wrong. All in all not really an issue.The problem still persists. If one raises an exception, the tests will apparently not catch it. In result the test framework stops with an unhandled excpetion and fails, although raising an exception is the thing to do, according to the description.
I didn't see the discussion you had on the topic already. I'm perfectly aware of the math, but since you made such an effort to wrap a maths problem into a real life example, I would expect the solution to behave realistically as well. For me this implies
checkchoose(1,n) = n
, because otherwise there is need to come up with "an artistic explaination" of why it's zero.But since the problem and solution are mathematically perfectly valid, I will mark the issue as solved and turn it into a suggestion to alter the description to mention this fringe case.
A random test in Python:
checkchoose(1,5)
should obviously return5
, but the test demands it to be0
.The typo is still present in the Python version.
This comment is hidden because it contains spoiler information about the solution
Ah, thank you very much! Makes sense. The documentation would be a good place to mention this -- or maybe I just didn't see it.
The test cases in the Python version are broken. They read like:
Output is directly checked against input...
Good! For some reason I had to unpublish and fork anew. Maybe Beta Katas shouldn't be translated, because the system cannot keep track of changes in the original.
I've updated the solution to take an array of integers and matched the description to the JS Kata.
Consider changing the description to indicate that the score for a wrong answer is to be subtracted. This is not immediately clear from the description, because it says that "wrong" may take positive and negative values.