- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
import java.lang.*;
public class Password {
static char[] ch = {'a', 'b'};
static byte length = 2;
static int m = ch.length;
static int n = length;
static int l = (int) (Math.pow(ch.length, length));
static String[] arr = new String[l];
public static void main(String[] args) {
for (int xyu = 0; xyu < l; xyu++) {
arr[xyu] = "";
}
String[] output = generator(ch, length);
for (String password : output) {
System.out.println(password);
}
}
public static String[] generator(char[] ch, byte length) {
for (int i = 0; i < l; i++) {
arr[i] = M(i);
}
return arr;
}
public static String M(int i) {
String a = Perevod(i, m);
for (int j = 0; j < n; j++) {
arr[i] += ch[Character.getNumericValue(a.charAt(j))];
}
return arr[i];
}
//FIXME
public static String Perevod(int i, int base) {
String r = "";
if (i == 0) {
for (int counter = 0; counter < n; counter++) {
r += "0";
}
}
boolean f = false;
while (i > 0) {
r = r + (i % base);
int q = i % base;
i = (i - q) / base;
if (q == 1) {
f = true;
}
}
if (i == 0 & f == true) {
for (int counter = 0; counter < n - 1; counter++) {
r += "0";
}
}
String res = "";
for (int k = 0; k < r.length(); k++) {
res += r.charAt(r.length() - 1 - k);
}
return res;
}
}
Должен генерировать всевозможные пароли заданной длины из заданного алфавита. Не работает перевод в другую систему счисления