Этот код записывает одну строку с элементами шириной 1 символ, затем шириной 2 символа и т. Д.
Для каждой ширины он печатает все перестановки, повторяя буквы и считая от 0 до 2 ^ widthи использование заглавных букв на основе двоичных битов.
e.g.
00 = aa
01 = aA
10 = Aa
11 = AA
(actually I have iterated bits from lowest to highest rank to get the order to match your example)
Код:
$maxwidth = 3;
for ( $width = 1; $width <= $maxwidth; $width++ ) {
for ( $letter = ord('a'); $letter <= ord('z'); $letter++ ) {
for ( $num = 0; $num < pow(2,$width); $num++ ) {
for ( $bit = 0; $bit < $width; $bit++ ) {
print ($num & pow(2, $bit)) ? strtoupper(chr($letter)) : chr($letter);
}
print ',';
}
}
print "\n";
}
вывод:
a, A, b, B, c, C, d,D, E, E, F, F, G, G, H, H, I, I, J, J, K, K, L, L, M, M, N, N, O, O, P, P,q, Q, R, R, S, S, T, T, U, U, V, V, W, W, W, X, X, Y, Y, Z, Z, аа, аа, аа, аа, бб,Bb, Bb, ВВ, СС, Сс, сС, СС, дд, дд, дд, дД, й, Ee, еЕ, Е. Е., и далее, Ff, Ф.Ф., FF, GG, гг, Gg, Г.Г., чч, Hh,чЧ, HH, II, III, II, II, JJ, JJ, JJ, JJ, KK, кк, кк, К.К., LL, LL, Л.Л., LL, мм, мм, мм, мМ, пп, Nn, Nn,Н.Н., оо, оо, оо, оо, рр, Рр, ПП, ПП, кв.кв, QQ, QQ, QQ, р-р, Rr, Rr, RR, SS, Ss, Ss, СС, тт, тт, тт, ТТ,UU, UU, UU, UU, VV, VV, VV, VV, WW, WW, WW, WW, WW, XX, XX, XX, XX, YY, YY, YY, YY, ZZ, ZZ, ZZ, ZZ, ааа,Ааа, аАа, aaÃ, aaÃ, AaA, aaÃ, AAA, BBB, Bbb, ГЭБ, BBb, ГЭБ, ГЭБ, ГЭБ, В, ссс, ККА, ссс, ссс, ссс, ссс, ссс, CCC, ддд, Ddd,ддд, ддд, ддд, ддд, ддд, DDD, еее, Eee, EEE, EEE, EEE, EEE, EEE, ЕЕЕ, FFF, Fff, FFF, FFF, FFF, FFF, FFF, FFF, GGG, Ggg, GGG,GGG, GGG, GGG, GGG, ОГШ, HHH, Hhh, HHH, HHH, HHH, HhH, HHH, HHH, III, III, яII, III, III, III, III, III JJJ, Jjj, JJJ, JJJ, JJJ, JJJ, JJJ, JJJ, KKK, KKK, KKK, KKK, KKK, KKK, KKK, ККК, LLL, Lll, LLL,LLL, LLL, LLL, LLL, LLL, ттт, Мм, ттт, ттт, ттт, ттт, ттт, МММ, NNN, Nnn, NNN, NNN, NNN, NNN, NNN, NNN, ооо, ооо, ооо, ооо,ооо, ооо, ооо, ООО, ррр, PPP, PPP, PPP, PPP, PPP, PPP, PPP, QQQ, Qqq, QQQ, QQQ, QQQ, QQQ, QQQ, QQQ, ррр, RRR RRR, RRR RRR,RRR, RRR, РОП, SSS, SSS, SSS, SSS, SSS, SSS, SSS, СНО, ТТТ, Ttt, ТТТ, TTt, ТТТ, TtT, ТТТ, ТТТ, ууу, ууу, уУУ, уУУ, уУУ, уУУ,ууу, ууу, VVV, Vvv, VVV, VVV, VVV, VVV, VVV, VVV, WWW, Www, Www, Www, Www, WwW, WWW, WWW, ххх, ххх ххх ххх ххх ххх ххх,XXX, YYY, Yyy, ууу, ууу, ууу, ууу, ууу, YYY, ZZZ, Zzz, ZZZ, ZZZ, ZZZ, ZzZ, ZZZ, ZZZ,