Форум программистов, компьютерный форум, киберфорум
Комбинаторика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/25: Рейтинг темы: голосов - 25, средняя оценка - 4.80
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873

Проверка на делимость суммы заданного множества чисел

21.05.2019, 08:23. Показов 4683. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если взять цифры от 1 до 5 и составить из них всевозможные пятизначные числа, чтобы каждая цифра встречалась только один раз, а потом сложить эти числа, на какие из нижеперечисленные числа будет делиться эта сумма. (А - 18, Б - 27, В - 36, Г - 45, Д - 48)

Вот такую дивную задачу пришлось вчера решать. Ну из меня комбинатор великий не получился, поэтому я на сайте по комбинаторике онлайн сначала получил множество чисел из задачи - https://www.cyberforum.ru/cgi-bin/latex.cgi?C^{5}_5. Получилось 120 чисел, которые я просуммировал в эксель. Ну а дальше проверил, что нацело делиться 18, 36 и 45. Подскажите, как правильно решаются подобные задачи и какой правильный ответ у этой задачи. Заранее благодарен.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.05.2019, 08:23
Ответы с готовыми решениями:

Сколькими способами можно заданное число S представить в виде суммы чисел из заданного множества?
Помогите пожалуйста! Задача – найти количество различных способов, которыми можно заданное число S представить в виде суммы чисел из...

Проверить делимость без остатка суммы предыдущих чисел на каждый элемента массива
Подскажите пожалуйста, Как проверить делимость без остатка суммы предыдущих чисел на каждый элемента массива. Размер массива вводится с...

Из заданного множества целых чисел выделить множество нечётных чисел и чисел, делящихся без остатка на 17
Дано множество Xl,содержащее целые числа из диапазона . Сформировать новое множество Y путем выделения из множества Xl нечетных чисели...

8
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
21.05.2019, 12:04
Lord_Voodoo, Количество чисел подсчитана верно (120), но формула не правильна. https://www.cyberforum.ru/cgi-bin/latex.cgi?C_5^5 = 1
А тут 5! (это факториал, а не выражение эмоций) = 1*2*3*4*5 = 120

Добавлено через 7 минут
Подход тут такой. Надо понять, на какие числа из набора 3, 9, 2, 4, 8, 16, 5 делится результат
По признаку делимости на 9 - на 9 (а значит и на 3) делится. Сумма цифр = 15*120 на 9 делится.
На остальные числа из набора есть свои несложные признаки. И вот надо как-то их проанализировать...
Да, еще 27 остается... Тут надо как-то подумать...

Добавлено через 33 минуты
Цитата Сообщение от Байт Посмотреть сообщение
Да, еще 27 остается...
Тут тоже просто. При делении на 9 каждое число дает остаток 6 (он равен тому остатку, которую дает сумма цифр)
6*120 делится на 3. Похоже, что 27 вы пропустили...
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
21.05.2019, 12:09  [ТС]
Байт, просто сумма у меня получилась сумма чисел - 3999960... Да и если уж быть совсем корректным, то условие задания мне кажется с подвохом. Потому что любое число можно поделить на другое. А вот деление без остатка - это уже мое творческое переосмысление.

Написал примитивный код, не знаю, как оно работает на сайте, но результат у меня получился идентичный. Поэтому похоже на правду мое решение. Но вот как это описать математически, загадка.
Получается 120 чисел.

Код:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
    qint64 sum = 0, cnt = 0;
    for(qint64 number = 11111; number <= 55555; number++)
    {
        QString txt = QString::number(number);
 
        if(!(txt.contains("1") && txt.contains("2") && txt.contains("3") && 
            txt.contains("4") && txt.contains("5"))) continue;
 
        bool isDublicate = false;
        for(int i = 0; i < txt.size(); i++)
        {
            for(int j = 0; j < txt.size(); j++)
            {
                if(i != j && txt.at(i) == txt.at(j))
                {
                    isDublicate = true;
                    break;
                }
            }
        }
        if(isDublicate)
            continue;
        else
        {
            sum += number;
            cnt++;
            qDebug() << "Number: " << txt << sum << cnt;
        }
    }
 
    qDebug() << "Sum: " << sum << " Count: " << cnt;
Результаты:
Кликните здесь для просмотра всего текста

Number: "12345" 12345 1
Number: "12354" 24699 2
Number: "12435" 37134 3
Number: "12453" 49587 4
Number: "12534" 62121 5
Number: "12543" 74664 6
Number: "13245" 87909 7
Number: "13254" 101163 8
Number: "13425" 114588 9
Number: "13452" 128040 10
...
Number: "53142" 3461340 110
Number: "53214" 3514554 111
Number: "53241" 3567795 112
Number: "53412" 3621207 113
Number: "53421" 3674628 114
Number: "54123" 3728751 115
Number: "54132" 3782883 116
Number: "54213" 3837096 117
Number: "54231" 3891327 118
Number: "54312" 3945639 119
Number: "54321" 3999960 120
Sum: 3999960 Count: 120
0
Эксперт по математике/физике
 Аватар для jogano
6360 / 4067 / 1512
Регистрация: 09.10.2009
Сообщений: 7,550
Записей в блоге: 4
21.05.2019, 15:16
Лучший ответ Сообщение было отмечено Lord_Voodoo как решение

Решение

Lord_Voodoo, сумма правильная. Раскладываем её на простые множители (интересуют только простые множители, входящие в состав данных пяти 2-значных чисел, то есть 2, 3 и 5): https://www.cyberforum.ru/cgi-bin/latex.cgi?3'999'960=2^3 \cdot 3^2 \cdot 5 \cdot 11'111
Данные потенциальные делители имеют такие разложения:
https://www.cyberforum.ru/cgi-bin/latex.cgi?18=2 \cdot 3^2\\27=3^3\\36=2^2 \cdot 3^2\\45=3^2 \cdot 5\\48=2^4 \cdot 3
Значит, делимость (имеется в виду нацело) может быть только на делители, в которых все простые делители (2, 3, 5) входят в степени не большей, чем в числе 3999960. Это числа 18, 36, 45

Добавлено через 7 минут
Найти сумму всех исходных 5-значных чисел можно без Экселя:
каждая цифра в младшем разряде повторяется столько раз, сколько 5-и значных чисел с этой цифрой есть, а их 4! (все возможные перестановки других 4-х цифр). Значит, сумма цифр в младшем разряде равна (1+2+3+4+5)*4!
Такая же сумма цифр во следующем разряде и в следующем до старшего разряда включительно. Осталось эти суммы умножить на веса самих разрядов, и получается https://www.cyberforum.ru/cgi-bin/latex.cgi?\left(1+2+3+4+5 \right) \cdot 4! \cdot \left(10'000+1000+100+10+1 \right)=15 \cdot 24 \cdot 11'111
2
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
21.05.2019, 15:26
Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
любое число можно поделить на другое. А вот деление без остатка - это уже мое творческое переосмысление.
Обычно в таких задачах имеется в виду именно деление без остатка, то есть нацело. И это даже не оговаривается. Так что ваше переосмысление совершенно верно.
А с 27 я чего-то напутал. Действительно, третьей тройки в разложении нет.
1
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
21.05.2019, 15:41  [ТС]
jogano, Байт, этот день настал. Мне помогли на родном форуме, причем от слова "полностью". Спасибо, коллеги, за ликбез в комбинаторике. Хотя следует отметить, что решение я получил и сам, но топорное. Поэтому нужен был научный подход.
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
21.05.2019, 22:50
Эту задачу (получение суммы без Екселя) можно и обобщить. Например, если цифр не 5, а 6, то сумма получается
21*120*111111
И уже после этого задавать разные вопросы, например, по поводу делимостей.
1
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
21.05.2019, 23:04  [ТС]
Байт, ну не математик я, а почти программист, поэтому выкручивался, как это принято у программистов))) Но за ликбез все равно спасибо. Я чувствовал спиной, что есть алгоритмы и без лишних вычислений, но мне они были не ведомы.
0
21.05.2019, 23:10

Не по теме:

Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
но мне они были не ведомы.
Все это совершенно естественно, Ибо
а) Нельзя объять необъятного
б) все мы немножко лошади, и каждый из нас по свойму - лошадь
в) Во многом знании много печали
Я вот тоже немножко почти программист, но в морях ПХП и прочего Веба плаваю, как тухлая рыбешка...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.05.2019, 23:10
Помогаю со студенческими работами здесь

Делимость и не делимость двочных чисел
По условию задачи дано что 1110010100011100011111111 делить 1110 невозможно, но на калькуляторе я рассчитал это выражение оно будет равно ...

Из заданного диапазона чисел выделить множества чисел, соответствующих заданным условиям
Нужна помощь осталась последняя задача и я не знаю как решить (Болел) Помогите ПЛЗ Из диапазона целых чисел m... n выделить: 1)...

Множества: напечатать все целые числа из заданного диапазона, представимые в виде суммы двух квадратов
В возрастающем порядке напечатать все целые числа из диапазона 1..10 000, представимые в виде n*n+m*m, где n, m&gt;=0.

Проверка на делимость
В этой задаче необходимо проверить, делится ли число A на число B нацело. Использовать можно только арифметические операции, использование...

Найти тройки чисел из множества, заданного массивами
Найти тройки чисел из множества, заданного массивами x, y, z размерности n&lt;=10,для которой площадь треугольника со сторонами, определяемыми...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru