写一个函数,输入0打印A,1打印B,...,26打印AA,27打印AB........
很久没来emath了,不知道最近论坛活跃否,向大家问好! :)欢迎归来
===========
好像不是26进制的形式,能否补全一下,先给我们大家打印出1-60的来 前78个:
{A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ} 我来抛砖引玉:f=FromCharacterCode, 1]] + 65] &
g := FromCharacterCode + 65];
f := g /@ (IntegerDigits - Join] - 1], {0}]) //
StringJoin;
还是wayne的代码短小精悍 想知道C代码如何写,尽量不用数组或链表。
再写一下他的反函数如何? 5# chyanog
题目应该有问题。
数的最高位不能为0,意味着最高位总是只有25个字符的
不知楼主能否打印出 670--680 的值来 这题目很别扭。正如wayne说的那样。
676应该是ZA吗? 换一种理解:0 -> 0
1 -> 1
...
9 -> 9
10-> 00
11-> 01
...
19-> 09
20-> 10
21-> 11
...
90-> 80
91-> 81
...
100 -> 90
101 -> 91
...
109 -> 99
110 -> 000
111 -> 001
... 想当初,在初中时,数学老师让我们用一个笔记本记录一些好题,
我就是采用楼主所述的纯英文字母序列方式进行计数的。
有点象进制转换,又不尽然,因为A虽对应为0,但AA却不等于A,
所以,更贴切的处理是将A~Z对应27进制的1~26,暗含一个空字串对应于0。