|C++| Определить количество чисел с нечетными цифрами между двумя введеными числами

Ввести с клавиатуры два натуральных числа m> 100, n> m. Определить количество чисел между m, n, состоящих из нечетных цифр и тех, которые имеют различные цифры (отдельно вывести). Представление числа в виде структурированного типа (массивом или строкой) не использовать.

Код:

 if (n > m)
    {
        int t = n;
        n = m;
        m = t;
    }

    for (int i = n; i <= m; i++)
    {
        bool check = true;
        int a = i;

        while (a != 0 && check)
        {
            check = (a % 10) % 2 == 0 || a >= 10;
            a /= 10;
        }

        if (!check)
            s++;
        else
        {
            a = i;

            while (a != 0 && check)
            {
                for (int j = a / 10; j != 0 && check; j /= 10)
                    if (a % 10 == j % 10)
                        check = false;

                a /= 10;
            }

            if (!a)
                s++;
        }
    }

    if (n <= 100 || m < n)
    {
        cout << ("'m' > 'n' > 100 Repeat please...\n");
    }

} while (n <= 100 || m < n); оні

cout << "Number of numbers with odd or non-repeating digits: " << s << endl; 

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