New Dictionary
Peter is making a new dictionary.He wants to arrange the words in the ascending order of their length and later arrange the ones with the same length in lexicographic order.Each word is given a serial number according to its position.Find the word according to the serial number.
Input
The first line of input is a positive integer which is the serial number.
Word Serial Number
A 1
B 2
C 3
... ...
X 24
Y 25
Z 26
AA 27
AB 28
... ...
BA 53
... ...
ZZ 702
AAA 703
Explanation
Given serial number is 42.
As the serial number is between 26 and 52, the first character of the word is A.The remaining counter of the serial number is 16 (42-26).
The second character of the word is the 16th alphabet, which is P.
So, the output should be AP.
Sample Input1
42
Sample Output1
AP
Sample input2
751
Sample output2
ABW
letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
n = int(input())
length = 1
while (n - 1) // 26 ** length:
n -= 26 ** length
length += 1
rez = ''
for i in range(length):
ind = (n - 1) // 26 ** (length - i - 1)
rez += letters[ind]
n -= 26 ** (length - i - 1) * ind
print(rez)
Comments
Leave a comment