From e9fe7d6b06be1323c98f78358e6c30b50d394b44 Mon Sep 17 00:00:00 2001 From: Muhammad Umer Farooq Date: Sat, 7 Oct 2023 10:35:36 +0500 Subject: [PATCH 1/7] Updated test cases of power_sum.py --- backtracking/power_sum.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/backtracking/power_sum.py b/backtracking/power_sum.py index fcf1429f8570..d67ea4322c87 100644 --- a/backtracking/power_sum.py +++ b/backtracking/power_sum.py @@ -23,12 +23,12 @@ def backtrack( (0, 3) >>> backtrack(100, 3, 1, 0, 0) (0, 1) - >>> backtrack(800, 2, 1, 0, 0) - (0, 561) - >>> backtrack(1000, 10, 1, 0, 0) + >>> backtrack(86, 2, 1, 0, 0) + (0, 3) + >>> backtrack(100, 10, 1, 0, 0) (0, 0) - >>> backtrack(400, 2, 1, 0, 0) - (0, 55) + >>> backtrack(40, 2, 1, 0, 0) + (0, 1) >>> backtrack(50, 1, 1, 0, 0) (0, 3658) """ @@ -61,12 +61,12 @@ def solve(needed_sum: int, power: int) -> int: 3 >>> solve(100, 3) 1 - >>> solve(800, 2) - 561 - >>> solve(1000, 10) + >>> solve(86, 2) + 3 + >>> solve(100, 10) 0 - >>> solve(400, 2) - 55 + >>> solve(40, 2) + 1 >>> solve(50, 1) Traceback (most recent call last): ... @@ -90,4 +90,5 @@ def solve(needed_sum: int, power: int) -> int: if __name__ == "__main__": import doctest + # print(backtrack(80, 1, 1, 0, 0)) doctest.testmod() From fcb5f034af8c4324efb530c1e1664e16337d0abd Mon Sep 17 00:00:00 2001 From: Muhammad Umer Farooq Date: Sat, 7 Oct 2023 10:45:28 +0500 Subject: [PATCH 2/7] updated --- backtracking/power_sum.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/backtracking/power_sum.py b/backtracking/power_sum.py index d67ea4322c87..09a0af00d9f6 100644 --- a/backtracking/power_sum.py +++ b/backtracking/power_sum.py @@ -19,13 +19,13 @@ def backtrack( """ >>> backtrack(13, 2, 1, 0, 0) (0, 1) - >>> backtrack(100, 2, 1, 0, 0) - (0, 3) - >>> backtrack(100, 3, 1, 0, 0) + >>> backtrack(10, 2, 1, 0, 0) (0, 1) - >>> backtrack(86, 2, 1, 0, 0) - (0, 3) - >>> backtrack(100, 10, 1, 0, 0) + >>> backtrack(10, 3, 1, 0, 0) + (0, 0) + >>> backtrack(46, 2, 1, 0, 0) + (0, 2) + >>> backtrack(10, 10, 1, 0, 0) (0, 0) >>> backtrack(40, 2, 1, 0, 0) (0, 1) @@ -57,13 +57,13 @@ def solve(needed_sum: int, power: int) -> int: """ >>> solve(13, 2) 1 - >>> solve(100, 2) - 3 - >>> solve(100, 3) + >>> solve(10, 2) 1 - >>> solve(86, 2) - 3 - >>> solve(100, 10) + >>> solve(10, 3) + 0 + >>> solve(46, 2) + 2 + >>> solve(10, 10) 0 >>> solve(40, 2) 1 From fdc1a67dece9c088cdbf95badeeb5c3c3e8f4e08 Mon Sep 17 00:00:00 2001 From: Muhammad Umer Farooq Date: Sat, 7 Oct 2023 12:29:36 +0500 Subject: [PATCH 3/7] updated. --- backtracking/power_sum.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/backtracking/power_sum.py b/backtracking/power_sum.py index 09a0af00d9f6..246ca7392ea8 100644 --- a/backtracking/power_sum.py +++ b/backtracking/power_sum.py @@ -23,14 +23,14 @@ def backtrack( (0, 1) >>> backtrack(10, 3, 1, 0, 0) (0, 0) - >>> backtrack(46, 2, 1, 0, 0) - (0, 2) - >>> backtrack(10, 10, 1, 0, 0) + >>> backtrack(20, 2, 1, 0, 0) + (0, 1) + >>> backtrack(15, 10, 1, 0, 0) (0, 0) - >>> backtrack(40, 2, 1, 0, 0) + >>> backtrack(16, 2, 1, 0, 0) (0, 1) - >>> backtrack(50, 1, 1, 0, 0) - (0, 3658) + >>> backtrack(20, 1, 1, 0, 0) + (0, 64) """ if current_sum == needed_sum: # If the sum of the powers is equal to needed_sum, then we have a solution. @@ -61,13 +61,13 @@ def solve(needed_sum: int, power: int) -> int: 1 >>> solve(10, 3) 0 - >>> solve(46, 2) - 2 - >>> solve(10, 10) + >>> solve(20, 2) + 1 + >>> solve(15, 10) 0 - >>> solve(40, 2) + >>> solve(16, 2) 1 - >>> solve(50, 1) + >>> solve(20, 1) Traceback (most recent call last): ... ValueError: Invalid input From ea380afef1445234e12a649197f9452d8541d4a0 Mon Sep 17 00:00:00 2001 From: Muhammad Umer Farooq Date: Fri, 13 Oct 2023 09:45:23 +0500 Subject: [PATCH 4/7] remove extra comment and used ** instead of pow --- backtracking/power_sum.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/backtracking/power_sum.py b/backtracking/power_sum.py index 246ca7392ea8..0a960b49c677 100644 --- a/backtracking/power_sum.py +++ b/backtracking/power_sum.py @@ -6,7 +6,6 @@ The only solution is 2^2+3^2. Constraints: 1<=X<=1000, 2<=N<=10. """ -from math import pow def backtrack( @@ -37,7 +36,7 @@ def backtrack( solutions_count += 1 return current_sum, solutions_count - i_to_n = int(pow(current_number, power)) + i_to_n = int(current_number**power) if current_sum + i_to_n <= needed_sum: # If the sum of the powers is less than needed_sum, then continue adding powers. current_sum += i_to_n @@ -89,6 +88,5 @@ def solve(needed_sum: int, power: int) -> int: if __name__ == "__main__": import doctest - - # print(backtrack(80, 1, 1, 0, 0)) + doctest.testmod() From d2c79912c7af626f898485faa075dcbe93ccedc1 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 13 Oct 2023 04:48:22 +0000 Subject: [PATCH 5/7] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- backtracking/power_sum.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/backtracking/power_sum.py b/backtracking/power_sum.py index 0a960b49c677..13497a5ca888 100644 --- a/backtracking/power_sum.py +++ b/backtracking/power_sum.py @@ -7,7 +7,6 @@ """ - def backtrack( needed_sum: int, power: int, @@ -88,5 +87,5 @@ def solve(needed_sum: int, power: int) -> int: if __name__ == "__main__": import doctest - + doctest.testmod() From f09e4e0a6072a204baf05ca5e8702338ca0a05f4 Mon Sep 17 00:00:00 2001 From: Tianyi Zheng Date: Sat, 14 Oct 2023 04:25:36 -0400 Subject: [PATCH 6/7] Update backtracking/power_sum.py --- backtracking/power_sum.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backtracking/power_sum.py b/backtracking/power_sum.py index 13497a5ca888..5f427c4903db 100644 --- a/backtracking/power_sum.py +++ b/backtracking/power_sum.py @@ -35,7 +35,7 @@ def backtrack( solutions_count += 1 return current_sum, solutions_count - i_to_n = int(current_number**power) + i_to_n = current_number ** power if current_sum + i_to_n <= needed_sum: # If the sum of the powers is less than needed_sum, then continue adding powers. current_sum += i_to_n From 68917048028e624259ebe89b5cfdf3ba129c7a79 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 14 Oct 2023 08:26:03 +0000 Subject: [PATCH 7/7] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- backtracking/power_sum.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backtracking/power_sum.py b/backtracking/power_sum.py index 5f427c4903db..ee2eac426ec7 100644 --- a/backtracking/power_sum.py +++ b/backtracking/power_sum.py @@ -35,7 +35,7 @@ def backtrack( solutions_count += 1 return current_sum, solutions_count - i_to_n = current_number ** power + i_to_n = current_number**power if current_sum + i_to_n <= needed_sum: # If the sum of the powers is less than needed_sum, then continue adding powers. current_sum += i_to_n