Skip to content

Incorrect unit tests values for ownPower and digitSum  #34

@quebin31

Description

@quebin31

I noticed that there are some incorrect unit tests for ownPower and digitSum. For the former the last test is failing (i.e. ownPower(21, 12)) because 21 ** 21 is larger than Number.MAX_SAFE_INTEGER this already creates an overflow, if you don't use a BigInt from the beginning final sum is obviously going to be bigger than Number.MAX_SAFE_INTEGER, and for the latter something similar was happening, take for example the factorial of 42, this number is also going to be greater than Number.MAX_SAFE_INTEGER using number here is incorrect because it's going to produce an overflow.

>>> MAX_SAFE_INTEGER = 2 ** 53 - 1
>>> 21 ** 21 > MAX_SAFE_INTEGER
True
>>> import math
>>> math.factorial(42) > MAX_SAFE_INTEGER
True

Please refer to #33 for the following:

To prove these points I included a Python3 script (challenge.py) with implementations to those two functions, but with the difference that Python3 supports arbitrarily large numbers out of the box, if you run this script you'll see the correct values.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions