Как вывести все варианты перестановки пар цифр числа long?

151
20 мая 2021, 17:20

Имеется некое число long Как можно было бы вывести все варианты перестановки пар цифр этого числа?

например для числа 134 вывести 134 431 314 143

то есть переставлять можно только 2 числа

Answer 1

Если переставлять можно только два числа.

char[] number = Long.toString(134).toCharArray();
System.out.println(number);
for(int i = 0; i < number.length; i++) {
    for(int j = i + 1; j < number.length; j++) {
        if (number[i] != number[j]) {
            char ni = number[i];
            char nj = number[j];
            number[i] = nj;
            number[j] = ni;
            System.out.println(number);
            number[i] = ni;
            number[j] = nj;
        }
    }
}

Вывод:

134
314
431
143
READ ALSO
Java, RLE-распаковка

Java, RLE-распаковка

по правилам сжатия последовательность aaaabcc должна преобразоваться в 4ab2c (число показывает сколько повторяющихся символов, если символ один,...

78
String выход за пределы

String выход за пределы

Вопрос: Как создать проверку на выход за пределы длины строки?

81
Java сверка числа с фрагментом

Java сверка числа с фрагментом

имеется массив чисел

113
Ошибка java.lang.NoClassDefFoundError: org.springframework.web.servlet.DispatcherServlet

Ошибка java.lang.NoClassDefFoundError: org.springframework.web.servlet.DispatcherServlet

При запуске тестов с MockMvc получаю ошибку: javalang

123