Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2020, 20:21   #1
Alexander333
Пользователь
 
Регистрация: 06.10.2020
Сообщений: 19
По умолчанию Как написать программу без массива?

Ввести с клавиатуры два натуральных числа m> 100, n> m. Определить количество чисел между m, n, состоящие из нечетных цифр, или имеют различные цифры. Представление числа в виде структурированного типа (массивом или строкой) не использовать.
Alexander333 вне форума Ответить с цитированием
Старый 17.10.2020, 21:32   #2
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 954
По умолчанию

логично использовать логарифм

и разложение на разряды

12345 = 1*10^4 + 2*10^3 + 3*10^2 + 4*10^1 + 5*10^0
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую
сфинкс вне форума Ответить с цитированием
Старый 17.10.2020, 21:51   #3
Alexander333
Пользователь
 
Регистрация: 06.10.2020
Сообщений: 19
По умолчанию

сфинкс, спасибо, я попробую
Alexander333 вне форума Ответить с цитированием
Старый 19.10.2020, 04:53   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Можно в лоб проверить каждое число от m до n функцией:
Код:
bool good_number(int number)
{
    bool used_digit[10] = {};
    bool only_unique = true, only_odd = true;
    while (number && (only_unique || only_odd)) {
        int digit = number % 10;
        number /= 10;
        if (used_digit[digit]) {
            only_unique = false;
        } else {
            used_digit[digit] = true;
        }
        if (digit % 2 == 0) {
            only_odd = false;
        }
    }
    return (only_unique || only_odd);
}
Вроде ограничение только на представление самого числа массивом. Хотя возможно подталкивают к решению через комбинаторику.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос новичка: Как выложить сайт без хостинга montana044 Общие вопросы Web 8 05.04.2021 15:48
Как сделать что бы в приложении был 16 битный звук как в Windows XP? Kirill89 Windows 5 14.10.2020 17:04
есть дата сет по которому я строю гистограмму, мне нужно как то вытащить данные из области отмеченной на картинке. Как это можно сделать? TSwallow Python 1 02.10.2020 23:37
нужно написать программу для двумерного массива caught.let Паскаль, Turbo Pascal, PascalABC.NET 3 18.03.2012 11:28
написать программу обработки двумерного массива Miushka Паскаль, Turbo Pascal, PascalABC.NET 5 05.02.2008 23:32