|
#18
A,B,C,D,E,F 每个字母最多用两次,产生的10个字母的编码以字母顺序排列,第100万个编码是什么?
用SQL可算出 AA开头的有63000个,AB开头的有123480,推算下来这个编码是BD开头的,再用同样的SQL很容易就求出来。
看看有没有高人用手算。
WITH D AS (SELECT CHR(65+CEIL(LEVEL/2)) AS C
,LEVEL ID
FROM DUAL
CONNECT BY LEVEL<=10
)
SELECT count(DISTINCT SYS_CONNECT_BY_PATH(C,'/'))
FROM D
WHERE LEVEL=8
CONNECT BY NOCYCLE LEVEL<=8 AND ID<>PRIOR ID;
WITH D AS (SELECT DECODE(LEVEL,1,'A', CHR(65+CEIL(LEVEL/2))) AS C
,LEVEL ID
FROM DUAL
CONNECT BY LEVEL<=10
)
SELECT count(DISTINCT SYS_CONNECT_BY_PATH(C,'/'))
FROM D
WHERE LEVEL=8
CONNECT BY NOCYCLE LEVEL<=8 AND ID<>PRIOR ID;
|
|