JavaScriptでAAA、AAB、AAC…ZZZという英文字列をもれなく生成する方法です。
コードを下に示します。
「enumerate(3)」としているところで文字数を指定します。この場合、3文字です。4文字で相当時間がかかりました。5文字だと動かないと思い、試していません。
var arrs;
arrs = enumerate(3);
document.write(arrs.join("<br>"));
function enumerate(len) {
var list, list_length, arr, arr_length, i, j, result;
list = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
list_length = list.length;
result = [];
if(len == 1) {
for(i = 0; i < list_length; i++) {
result.push(list.substr(i, 1));
}
} else {
arr = enumerate(len - 1);
arr_length = arr.length;
for(i = 0; i < list_length; i++) {
for(j = 0; j < arr_length; j++) {
result.push(list.substr(i, 1) + arr[j]);
}
}
}
return result;
}
arrs = enumerate(3);
document.write(arrs.join("<br>"));
function enumerate(len) {
var list, list_length, arr, arr_length, i, j, result;
list = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
list_length = list.length;
result = [];
if(len == 1) {
for(i = 0; i < list_length; i++) {
result.push(list.substr(i, 1));
}
} else {
arr = enumerate(len - 1);
arr_length = arr.length;
for(i = 0; i < list_length; i++) {
for(j = 0; j < arr_length; j++) {
result.push(list.substr(i, 1) + arr[j]);
}
}
}
return result;
}
コメント