From 78117d9243b1b172264f411a3c74934f10fca055 Mon Sep 17 00:00:00 2001 From: Mahima Agarwal Date: Wed, 4 Oct 2023 14:47:36 +0530 Subject: [PATCH 1/2] Fixes #9588 --- maths/decimal_to_base_minus2.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 maths/decimal_to_base_minus2.py diff --git a/maths/decimal_to_base_minus2.py b/maths/decimal_to_base_minus2.py new file mode 100644 index 000000000000..7b853bd31233 --- /dev/null +++ b/maths/decimal_to_base_minus2.py @@ -0,0 +1,31 @@ +def decimal_to_base_minus_2(decimal_number: int) -> str: + """ + Convert a decimal number to base -2. + Args: + decimal_number (int): The decimal number to be converted. + Returns: + str: The converted number in base -2. + Examples: + >>> decimal_to_base_minus_2(13) + '1101' + >>> decimal_to_base_minus_2(0) + '0' + >>> decimal_to_base_minus_2(-10) + '110' + """ + if decimal_number == 0: + return "0" + + result = "" + + while decimal_number != 0: + remainder = decimal_number % (-2) + decimal_number = -(decimal_number // (-2)) + + if remainder < 0: + remainder += 2 + decimal_number += 1 + + result = str(remainder) + result + + return result \ No newline at end of file From 4dbbab9c9d58e05c66294472932ce799027ca788 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 4 Oct 2023 09:20:45 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- maths/decimal_to_base_minus2.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maths/decimal_to_base_minus2.py b/maths/decimal_to_base_minus2.py index 7b853bd31233..20b4896ec273 100644 --- a/maths/decimal_to_base_minus2.py +++ b/maths/decimal_to_base_minus2.py @@ -28,4 +28,4 @@ def decimal_to_base_minus_2(decimal_number: int) -> str: result = str(remainder) + result - return result \ No newline at end of file + return result