From 6fc93431d38b2202dfa09d6b211351f0f04b601a Mon Sep 17 00:00:00 2001 From: Barnavo Dey Date: Wed, 24 Dec 2025 12:01:16 +0530 Subject: [PATCH 1/5] Add reverse number pattern implementation --- maths/reverse_number_pattern.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 maths/reverse_number_pattern.py diff --git a/maths/reverse_number_pattern.py b/maths/reverse_number_pattern.py new file mode 100644 index 000000000000..e69de29bb2d1 From e9c8e450192eaf24bf037d12433a4338ed89773a Mon Sep 17 00:00:00 2001 From: Barnavo Dey Date: Wed, 24 Dec 2025 12:13:10 +0530 Subject: [PATCH 2/5] Add reverse number pattern implementation --- maths/reverse_number_pattern.py | 38 +++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/maths/reverse_number_pattern.py b/maths/reverse_number_pattern.py index e69de29bb2d1..eac5e0669eb0 100644 --- a/maths/reverse_number_pattern.py +++ b/maths/reverse_number_pattern.py @@ -0,0 +1,38 @@ +""" +Reverse number pattern. + +Example: +>>> reverse_number_pattern(4) +['1234', '123', '12', '1'] +""" + +from typing import List + + +def reverse_number_pattern(n: int) -> List[str]: + """ + Returns a reverse number pattern. + + >>> reverse_number_pattern(3) + ['123', '12', '1'] + >>> reverse_number_pattern(1) + ['1'] + >>> reverse_number_pattern(0) + [] + """ + if n <= 0: + return [] + + result = [] + for i in range(n, 0, -1): + line = "" + for x in range(1, i + 1): + line += str(x) + result.append(line) + return result + + +if __name__ == "__main__": + import doctest + doctest.testmod() + From d6efe681d09eb02de1ab02a5fab016591382a586 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 24 Dec 2025 06:45:22 +0000 Subject: [PATCH 3/5] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- maths/reverse_number_pattern.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maths/reverse_number_pattern.py b/maths/reverse_number_pattern.py index eac5e0669eb0..fc9570da6851 100644 --- a/maths/reverse_number_pattern.py +++ b/maths/reverse_number_pattern.py @@ -34,5 +34,5 @@ def reverse_number_pattern(n: int) -> List[str]: if __name__ == "__main__": import doctest - doctest.testmod() + doctest.testmod() From 1b4920bfb5cef1f8b5dbd111ebd9738f0f2f4164 Mon Sep 17 00:00:00 2001 From: Barnavo Dey Date: Wed, 24 Dec 2025 13:31:58 +0530 Subject: [PATCH 4/5] Fix syntax and ruff issues in reverse number pattern --- maths/reverse_number_pattern.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/maths/reverse_number_pattern.py b/maths/reverse_number_pattern.py index fc9570da6851..f9d128c5ab52 100644 --- a/maths/reverse_number_pattern.py +++ b/maths/reverse_number_pattern.py @@ -23,13 +23,10 @@ def reverse_number_pattern(n: int) -> List[str]: if n <= 0: return [] - result = [] - for i in range(n, 0, -1): - line = "" - for x in range(1, i + 1): - line += str(x) - result.append(line) - return result + return [ + "".join(str(x) for x in range(1, i + 1)) + for i in range(n, 0, -1) + ] if __name__ == "__main__": From 75ad1baee5c0120dd407eb942ba4e37c05306268 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 24 Dec 2025 08:04:35 +0000 Subject: [PATCH 5/5] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- maths/reverse_number_pattern.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/maths/reverse_number_pattern.py b/maths/reverse_number_pattern.py index f9d128c5ab52..6866a0347afa 100644 --- a/maths/reverse_number_pattern.py +++ b/maths/reverse_number_pattern.py @@ -23,10 +23,7 @@ def reverse_number_pattern(n: int) -> List[str]: if n <= 0: return [] - return [ - "".join(str(x) for x in range(1, i + 1)) - for i in range(n, 0, -1) - ] + return ["".join(str(x) for x in range(1, i + 1)) for i in range(n, 0, -1)] if __name__ == "__main__":