OD 算法题 B卷【正整数到Excel编号之间的转换】
文章目录
- 正整数到Excel编号之间的转换
正整数到Excel编号之间的转换
- excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;
- 编写一个函数,完成从一个正整数到这种字符串之间的转换;
输入描述:
输入一个正整数
输出描述:
excel的编号字符串
示例1
输入:
1
输出:
a
示例2
输入:
26
输出:
z
示例3
输入:
27
输出:
aa
python实现:
- 类似于二进制的转换,这里当做是26进制;
- m每次减1,再对26求模;
m = int(input().strip())
if m > 0:result = ""while m > 0:m -= 1result += chr((m % 26) + ord('a'))m //= 26print(result[::-1])