Консультация № 192942
16.03.2018, 08:42
0.00 руб.
0 8 1
Уважаемые эксперты! Пожалуйста, ответьте на вопрос:
Сколько существует целых чисел в диапазоне от 0 до 100 000, содержащих ровно 2 цифры «8» и одну цифру «4»?

Обсуждение

давно
Мастер-Эксперт
17387
18345
16.03.2018, 11:45
общий
Адресаты:
Я думаю, Вы понимаете, что ровно две цифры 8 и одна цифра 4 могут быть только в числах, имеющих не менее трёх знаков. Как Вы думаете, сколько таких трёхзначных чисел?
Об авторе:
Facta loquuntur.
давно
Мастер-Эксперт
259041
7459
16.03.2018, 13:12
общий
16.03.2018, 13:21
Адресаты:
Я полагаю, этот Вопрос надо решать не как математическую задачу, а написать скрипт, который перечислит числа "в диапазоне от 0 до 100 000", представит их в виде строки символов, выберет из них "содержащих ровно 2 цифры «8» и одну цифру «4»" и отобразит на экран итоговое кол-во находок. А при необходимости отобразит и сами числа.

Или надо обязательно использовать какой-то математический НЕ-программный метод?

Например, целое число 11884 находится в диапазоне от 0 до 100 000, содержит ровно 2 цифры «8» и одну цифру «4». Оно подходит в Условие задачи? В условии не указан запрет присутствия других цифр в числе помимо двух восьмёрок и четвёрки.
давно
Посетитель
401895
7
16.03.2018, 18:31
общий
Адресаты:
Да надо как то математически решить это по дискретной математике сказали сделать
давно
Мастер-Эксперт
259041
7459
17.03.2018, 08:37
общий
Я отправил Ответ (найдено 1920 чисел математическим и программным методами). Но сервер rfpro.ru НЕ отображает мой Ответ. Повторяется ситуация, как в https://rfpro.ru/question/192763 . Поэтому я не пытаюсь отправлять Ответ повторно, а жду вашу рекомендацию, как мне поступить, чтоб потом вам не пришлось удалять дубли.
давно
Посетитель
401895
7
17.03.2018, 10:12
общий
Адресаты:
а можно отравить на почту?
давно
Мастер-Эксперт
259041
7459
17.03.2018, 10:27
общий
20.03.2018, 01:34
Адресаты:
Пытаюсь отправить Ответ в мини-форум
Здравствуйте, aleksei_02061997!
Вы просили...

19марта удалось переместить содержимое ответа отсюда в форму для Ответа.
давно
Посетитель
401895
7
17.03.2018, 12:21
общий
Адресаты:
Спасибо большое))
давно
Мастер-Эксперт
259041
7459
19.03.2018, 18:26
общий
это ответ
Здравствуйте, aleksei_02061997!
Вы просили "математически решить это по дискретной математике" - и я придумал математический вариант (без скриптов).
Начинаем с простого рассмотрения 3х-значных чисел: "ровно 2 цифры «8» и одну цифру «4»" имеют всего 3 числа: 884 , 848 и 488 .
Добавляем к каждому из этих сочетаний по 2 символа X и Y , каждый из которых может состоять из цифр за исключением 8 и 4 (чтоб не нарушить условие "ровно 2 цифры «8» и одну цифру «4»"). То есть X может принимать значения 1 , 2 , 3 , 5 , 6 , 7 , 9 , 0 - итого 8 значений.
Разбиваем всевозможные варианты на 3 большие группы с 3мя базовыми сочетаниями 884 , 848 и 488.
В каждой группе символы X и Y можно переставлять местами с числами типа 884.
В первой группе перестановка X даёт 4 варианта:
884X , 88X4 , 8X84 , X884

Перестановка Y увеличивает число вариантов в каждой группе до 10 :
884XY
88X4Y , 88XY4
8X84Y , 8X8Y4 , 8XY84 ,
X884Y , X88Y4 , X8Y84 , XY884
Перестановки X и Y местами типа 884YX отбрасываем, как повторяющие (НЕ добавляющие) число-сочетания. Поэтому: Y должно располагаться всегда правее X !
Итого, 10 вариантов в каждой из 3х групп - 30 сочетаний (под-групп).

Пробуем подставить XY-значения для одной, первой под-группы 884XY и понаблюдать. Сначала перечисляем Y при X=1 :
88411 , 88412 , 88413 , 88415 , 88416 , 88417 , 88419 , 88410
88421 , 88422 , 88423 , 88425 , 88426 , 88427 , 88429 , 88420
88431 , 88432 , 88433 , 88435 , 88436 , 88437 , 88439 , 88430 ...
Наблюдения показывают, что в каждой группе 8 столбцов и 8 строк БЕЗ каких-либо взаимных помех, исключающих отбрасывание одинаковых чисел. То есть, в каждой под-группе 8 * 8 = 64 значений, отличающихся от X и Y.

Перемножаем 30 под-групп на 64 значения в каждой - получаем 30*64= 1920, как искомое количество "целых чисел в диапазоне от 0 до 100 000".
Заметим, что числа типа 00884 из группы XY884 выглядят как 3х-значные 884 ,
а 01884 из той же группы выглядят как 4х-значные 1884. Это не влияет на Ответ=1920.

Для проверки я написал скрипт 192942.vbs . Он отображает на экран все найденные 1920 чисел, содержащх ровно 2 цифры "8" и одну цифру "4". Поскольку большой вывод чисел вместе со счётчиком (5 экранов при разрешении 1024*768) требует прокрутку экрана, то этот вывод отображается в окне Командной строки. По умолчанию в каждой ОперСистеме это Cmd-окно НЕ настроено для выделения мышью и копирования текст-фрагмента. Поэтому, при первом запуске скрипт запросит Ваше согласие на коррекцию Свойств Cmd-окна. Согласитесь, и увидите все найденные числа.

Вы можете подредактировать скрипт, выбрав из его контекстного меню команду Изменить, а затем можете задать например другой диапазон поиска чисел (от 0 до 1000). Почти в каждой строке скрипта есть подробное описание для пользователя, оно находится правее символа ' (апостроф от клавиши Э). =Успехов!
Прикрепленные файлы:
d67eb1bf55472e56c4a1edafba7357cd5d6d1e95.zip
Форма ответа