Все варианты замены '0' на 'O'


  • administrators

    Доброе утро всем :D
    Задача такая:
    Есть строка, в ней присутствуют разные символы (цифры и латиница в верхнем регистре). Нужно заменить все "0" на "O" и наоборот, чтобы в итоге получить массив со всеми возможными вариантами исходной строки.
    К примеру строка 0TWQZOPQDG0 из неё нужно получить
    OTWQZOPQDG0
    OTWQZOPQDGO
    0TWQZ0PQDG0
    и т.п.


    Я решил немного топорно, работает, но выводит не все варианты. Думаю надо использовать вложенные if.
    Вот тестовый скрипт. Логика усложняется ещё тем что нужно ещё все "1" менять на "I" (i заглавная).

    Может есть решение более элегантное и простое?



  • Сначала заменить все 0 и о на {о|0} генерируешь 100000 и убрать дубликаты. Как идейка?) Проверочное число 2 (0ио)в степени 3(три позиции меняются) 2^3=8