将十进制数转换为类似于excel-header的数字

zer*_*kms 13 language-agnostic code-golf

0 = A
1 = B
...
25 = Z
26 = AA
27 = AB
...
701 = ZZ
702 = AAA
Run Code Online (Sandbox Code Playgroud)

我想不出任何不涉及loop-bruteforce的解决方案:-(

我期待一个函数/程序,它接受一个十进制数并返回一个字符串作为结果.

stu*_*ith 7

Haskell,78 57 50 43字符

o=map(['A'..'Z']:)$[]:o
e=(!!)$o>>=sequence
Run Code Online (Sandbox Code Playgroud)

其他条目不计算驱动程序,这增加了另外40个字符:

main=interact$unlines.map(e.read).lines
Run Code Online (Sandbox Code Playgroud)

一种新的方法,使用懒惰,无限的列表,以及Monads的力量!此外,使用sequence使我:),使用无限列表使我:o