Форум программистов, компьютерный форум, киберфорум
Maple
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/29: Рейтинг темы: голосов - 29, средняя оценка - 4.86
1 / 1 / 0
Регистрация: 14.03.2015
Сообщений: 6
1

Разбить множество n на k подмножеств

14.03.2015, 20:21. Показов 5751. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Помогите,пожалуйста, написать код на Maple13.
Разбить множество n на k подмножеств.
Так для множества {1,2,3,4} и k=3
Правильный ответ
{1,2}{3}{4}
{1,4}{2}{3}
{1}{2,4}{3}
{1}{2}{3,4}
{1}{2,3}{4}
{1,3}{2}{4}
Помогите, пожалуйста!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2015, 20:21
Ответы с готовыми решениями:

Множество подмножеств
Здравствуйте! Есть ли возможность с помощью класса HashSet создать множество с подмножествами в...

Множество всех подмножеств счетного множества имеет мощность континуума
Тут два варианта: либо помогите с доказательством, либо (что будет еще лучше), направьте на...

Дано множество. Разработать программу формирования и вывода всех подмножеств данного множества
Дано множество. Разработать программу формирования и вывода всех подмножеств данного множества....

Постройте множество элементарных исходов и выявите состав подмножеств, соответствующих данным событиям.
Эксперимент состоит в стрельбе по мишени два раза. Событие А – попадание в мишень первым выстрелом;...

13
2664 / 2239 / 240
Регистрация: 03.07.2012
Сообщений: 8,141
Записей в блоге: 1
15.03.2015, 17:11 2
Я неопытный пользователь Maple, так что не уверен в эффективности и правильности подхода. Зато работает.
Matlab M
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
with(combinat); 
razb := proc (s, n) 
    local i, k, m, si, sn, ss, s1, s2; 
    k := numelems(s); 
    if n = 1 then return {{s}} end if; 
    ss := {}; 
    for i to k+1-n do 
        si := choose(k, i); 
        for s2 in si do 
            if op(1, s2) = 1 then 
                s1 := {}; 
                for m to i do s1 := {s1[], op(op(m, s2), s)} 
                end do; 
                sn := razb(`minus`(s, s1), n-1); 
                for m in sn do 
                    ss := {ss[], {m[], s1}} 
                end do 
            end if 
        end do 
    end do; 
    return ss 
end proc; 
    
s := {1, 2, 3, 4}; 
ss := razb(s, 3); 
for q in ss do 
    q[];
end do
1
1 / 1 / 0
Регистрация: 14.03.2015
Сообщений: 6
15.03.2015, 17:52  [ТС] 3
Извините, пожалуйста.
При запуске Вашего кода Maple выдает ошибку:
Error, (in razb) final value in for loop must be numeric or character.
Помогите,пожалуйста, исправить

Добавлено через 4 минуты
Извините, пожалуйста.
При запуске Вашего кода Maple выдает ошибку:
Error, (in razb) final value in for loop must be numeric or character.
Помогите,пожалуйста, исправить
0
Модератор
Эксперт по математике/физике
5240 / 4027 / 1385
Регистрация: 30.07.2012
Сообщений: 12,288
15.03.2015, 17:57 4
Charlie Gordon, держите...
Вложения
Тип файла: rar Charlie Gordon.rar (4.7 Кб, 10 просмотров)
1
2664 / 2239 / 240
Регистрация: 03.07.2012
Сообщений: 8,141
Записей в блоге: 1
15.03.2015, 18:03 5
Да, при копировании программы проблемы. Комментарии пропали, и не только комментарии, как видно.

Добавлено через 2 минуты
VSI, можно из Maple сохранить программу в текстовый файл? По-разному пробовал, но фигня получается...
0
Модератор
Эксперт по математике/физике
5240 / 4027 / 1385
Регистрация: 30.07.2012
Сообщений: 12,288
15.03.2015, 18:09 6
zer0mail, из меню File\Export As... выберите <Имя файла>.rtf
Можно и в *.txt, но потом надо будет дорабатывать текст, чтобы было красиво...
1
1 / 1 / 0
Регистрация: 14.03.2015
Сообщений: 6
15.03.2015, 18:13  [ТС] 7
Скажите,пожалуйста, в какой версии Maple Вы работали?
0
2664 / 2239 / 240
Регистрация: 03.07.2012
Сообщений: 8,141
Записей в блоге: 1
15.03.2015, 18:16 8
Лучший ответ Сообщение было отмечено Charlie Gordon как решение

Решение

В 18-й.

 Комментарий модератора 
Файл сохранен в 16 версии...
1
1 / 1 / 0
Регистрация: 14.03.2015
Сообщений: 6
15.03.2015, 18:22  [ТС] 9
Спасибо большое!
Вы мне очень помогли!!!!
0
2664 / 2239 / 240
Регистрация: 03.07.2012
Сообщений: 8,141
Записей в блоге: 1
15.03.2015, 18:43 10
Ёлы-палы, в rtf программа сохраняется как картинка
0
0 / 0 / 1
Регистрация: 31.01.2012
Сообщений: 30
13.05.2015, 22:59 11
Здравствуйте, увидел, что Вы онлайн и обрадовался потому как возник вопрос по поводу этой задачки, так как при запуске данного кода Maple выдает туже ошибку:
Error, (in razb) final value in for loop must be numeric or character.
Подскажите, пожалуйста, где ошибка
0
0 / 0 / 1
Регистрация: 31.01.2012
Сообщений: 30
13.05.2015, 23:02 12
Здравствуйте. Недавно нашёл тут в одной из тем, уже потерявших, по-видимому, актуальность, код, который может решить часть одной моей задачи. Но в нём есть ошибка. В Maple не сильно разбираюсь, но сам алгоритм, вроде, правильный. Однако вытаёт ошибку. Пожалуйста помогите разобраться где эта ошибка.

Matlab M
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
with(combinat); 
razb := proc (s, n) 
    local i, k, m, si, sn, ss, s1, s2; 
    k := numelems(s); 
    if n = 1 then return {{s}} end if; 
    ss := {}; 
    for i to k+1-n do 
        si := choose(k, i); 
        for s2 in si do 
            if op(1, s2) = 1 then 
                s1 := {}; 
                for m to i do s1 := {s1[], op(op(m, s2), s)} 
                end do; 
                sn := razb(`minus`(s, s1), n-1); 
                for m in sn do 
                    ss := {ss[], {m[], s1}} 
                end do 
            end if 
        end do 
    end do; 
    return ss 
end proc; 
    
s := {1, 2, 3, 4}; 
ss := razb(s, 3); 
for q in ss do 
    q[];
end do
Добавлено через 9 минут
Данную тему тут, думаю, следует удалить - обсуждение переношу по месту назначения, так сказать
0
1 / 1 / 0
Регистрация: 14.03.2015
Сообщений: 6
13.05.2015, 23:05  [ТС] 13
В maple 18 надо запускать
1
Модератор
Эксперт по математике/физике
5240 / 4027 / 1385
Регистрация: 30.07.2012
Сообщений: 12,288
15.05.2015, 18:19 14
Trex_22, и в чем ошибка? Все работает...
0
15.05.2015, 18:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2015, 18:19
Помогаю со студенческими работами здесь

Разбить множество на подмножества
Добрый день. Нужна помощь с задачей: Имеем множество с N разными числами. Необходимо разбить на...

Разбить множество на подмножества
Здравствуйте, помогите пожалуйста, нужно разбить множество из n элементов на всеми способами k...

Можно ли разбить множество М на классы?
Если отношение А на множестве М рефлексивно, симметрично и транзитивно, можно ли разбить множество...

Сколькими способами можно разбить множество на подмножества?
Помогите, пожалуйста, как решить эту задачку!


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru