Проверка сформированы ли два числа через перестановку цифр

Функция принимает 2 int числа с одинаковым количеством цифр, нужно проверить, сформированы ли они через перестановку цифр, т.е. цифры в них те же, но в другом порядке. Пример: если передать 1231 и 3211, функция должна возвращать 1. Долго уже думаю над задачей, не могу придумать ни одного разумного способа, прошу у вас, коллеги, помощи или подсказок.


Ответы (1 шт):

Автор решения: Кирилл Малышев

Заводите массив на 10 элементов из нулей. Идёте циклом по первому числу, откусывая каждый раз последнюю цифру и добавляя единицу соответствующему элементу в массиве. Потом идёте по второму числу, вычитая так же единицу из массива для каждой цифры. Если в конце все элементы массива равны 0, то числа состоят из одних и тех же цифр.

→ Ссылка