使用Javascript将ZZZ打印到AAA或ZZZ到000

时间:2015-04-16 14:04:34

标签: javascript

我需要创建一个由字母和数字组合组成的系列,通过字母表反转,9-0如下:

ZZZ
ZZY
ZZX
.
.
ZZ9
ZZ8
.
.
ZZ0
ZYZ
ZXZ
.
.
.
AAA
999
.
.
.
000

3 个答案:

答案 0 :(得分:1)

以下代码将打印出从ZZZ到AAA的系列:

var d1=91, d2=90, d3=90;
while(d1+d2+d3>195){
    if(d1>65) d1--;
    else if(d2>65){d2--;d1=90;}
    else{d3--;d2=d1=90;}
    console.log(String.fromCharCode(d3)+String.fromCharCode(d2)+String.fromCharCode(d1));
}

您可以在以后添加以下代码以打印999到000之间的系列:

var d1=10, d2=9, d3=9;
while(d1+d2+d3>0){
    if(d1>0) d1--;
    else if(d2>0){d2--;d1=9;}
    else{d3--;d2=d1=9;}
    console.log(d3+''+d2+''+d1);
}

答案 1 :(得分:0)

一个选项,Base36(您需要将0..999作为例外并添加填充)

前100:

var ZZZ = 46655;

for (var i = ZZZ; i > ZZZ - 100; i--)
    console.log(i.toString(36).toUpperCase());

答案 2 :(得分:0)

你可以用这样的简单嵌套循环来做到这一点:

var options = ['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'];

for(var i=options.length-1; i>=0; i--) {
    for(var j=options.length-1; j>=0; j--) {
        for(var k=options.length-1; k>=0; k--) {
            console.log(options[i] + options[j] + options[k]);
        }
    }
}

这是fiddle