Beta
Magic Squares
Loading description...
Puzzles
View
This comment has been reported as {{ abuseKindText }}.
Show
This comment has been hidden. You can view it now .
This comment can not be viewed.
- |
- Reply
- Edit
- View Solution
- Expand 1 Reply Expand {{ comments?.length }} replies
- Collapse
- Spoiler
- Remove
- Remove comment & replies
- Report
{{ fetchSolutionsError }}
-
-
Your rendered github-flavored markdown will appear here.
-
Label this discussion...
-
No Label
Keep the comment unlabeled if none of the below applies.
-
Issue
Use the issue label when reporting problems with the kata.
Be sure to explain the problem clearly and include the steps to reproduce. -
Suggestion
Use the suggestion label if you have feedback on how this kata can be improved.
-
Question
Use the question label if you have questions and/or need help solving the kata.
Don't forget to mention the language you're using, and mark as having spoiler if you include your solution.
-
No Label
- Cancel
Commenting is not allowed on this discussion
You cannot view this solution
There is no solution to show
Please sign in or sign up to leave a comment.
The kata's testing code incorrectly assumes that there is only 1 possible row/column/diagonal sum for every magic square of a certain size. In fact this is already untrue for
4x4
magic squares.Its calculation is also flawed: adding a constant to all numbers will result in the "expected sum" to change by a different amount. Any minimum value other than
0
will cause the sum test to fail.This kata cannot be solved:
It can be worked around by adding
global.Test = require('@codewars/test-compat');
to user code.thanks
Seems like it does not work... at least.. for valid 3x3 square i got response:
The sum in row 0 is incorrect.: expected 15 to equal 13.5
This comment has been hidden.
And also, please check your
verify
function, is it worked correctly? (it seems like it works when min number starts with zero)It might be:
var expectedSum = size*(minFound+(size*size-1)/2);
instead of:var expectedSum = size*(minFound+(size*size-1))/2;