mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-30 16:31:08 +00:00
1e1ee00782
* added excess-3 code * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * updated with fixes * updated with fixes * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update excess_3_code.py --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Christian Clauss <cclauss@me.com>
28 lines
628 B
Python
28 lines
628 B
Python
def excess_3_code(number: int) -> str:
|
|
"""
|
|
Find excess-3 code of integer base 10.
|
|
Add 3 to all digits in a decimal number then convert to a binary-coded decimal.
|
|
https://en.wikipedia.org/wiki/Excess-3
|
|
|
|
>>> excess_3_code(0)
|
|
'0b0011'
|
|
>>> excess_3_code(3)
|
|
'0b0110'
|
|
>>> excess_3_code(2)
|
|
'0b0101'
|
|
>>> excess_3_code(20)
|
|
'0b01010011'
|
|
>>> excess_3_code(120)
|
|
'0b010001010011'
|
|
"""
|
|
num = ""
|
|
for digit in str(max(0, number)):
|
|
num += str(bin(int(digit) + 3))[2:].zfill(4)
|
|
return "0b" + num
|
|
|
|
|
|
if __name__ == "__main__":
|
|
import doctest
|
|
|
|
doctest.testmod()
|