Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # encoding: utf-8
- """
- k_adic.py
- """
- import sys
- import os
- alphabet = lambda n: chr(ord('A') + n - 1)
- ALPHABET_LEN = ord('Z') - ord('A') + 1 # 26
- def k_adic(number, get_digits=alphabet, base=ALPHABET_LEN):
- """
- k-adic notation A.K.A. Bijective numeration
- """
- result = ''
- while number > 0:
- number, remainder = divmod(number, base) # 여기까지는 보통의 진법 변환과 같지만,
- if remainder == 0: # 나머지의 범위가 1~base(26)이 되도록 조정합니다.
- number -= 1 # 나머지가 26이 되었으므로, 피제수도 1을 빼줍니다.
- remainder = base
- result = get_digits(remainder) + result
- return result
Add Comment
Please, Sign In to add comment