Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/14: Рейтинг темы: голосов - 14, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 03.10.2008
Сообщений: 9

Множество, подмножества, суммы

12.11.2008, 00:08. Показов 2873. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!

Дано множество {1, 2, ... ,n} n=<200 и число k, делитель n. Написать программу которая выведет одну из возможностей разбиения этого множества на k подмножеств по n/k элементов, так что сумма элементов во всех подмножествах равна.

Я написал для n чётного, но не могу найти решения для нечётного.. Существует ли для нечётного вообще алгоритм???

Вот что у меня получилось

Pascal
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
program premii;
type t=array[1..200] of integer;
var n,k,j,s,i:integer; f,g:text;  A:t;
  begin
    assign(f, 'in.txt');
    reset(f);
    assign(g, 'out.txt');
    rewrite(g);
    read(f, n); read(f,k);
    if n mod 2 =0 then
        begin
           if k mod 2=1 then writeln(g, '0') else
 
           begin
              for i:=1 to k do begin
 
                for j:=1+s to trunc(n/(2*k))+s do
                  write(g, j, ' ',n-j+1, ' ');
 
                s:=s+trunc(n/(2*k));
 
                writeln(g);
 
                end;
 
           end;
 
        end;
    close(f); close(g);
  end.
Если ВОЗМОНЖНО то сначала подать идей, а уж потом решение.. Хочется самому допереть...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.11.2008, 00:08
Ответы с готовыми решениями:

Пусть заданы множество А и множество В целых чисел, вывести (напечатать) все элементы множества В которые не входят в множество А.
Решите Пожалуйста !!!

Пусть заданы множество А и множество В целых чисел, вывести напечатать все элементы множества В которые не входят в множество А.
Пусть заданы множество А и множество В целых чисел, вывести напечатать все элементы множества В...

разделить множество на два подмножества
Задача. Дан массив от 1 до 100. Из каждого числа нужно извлечь корень квадратный. После этого...

6
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
12.11.2008, 12:31
Дело не в четности или нечетности. Нужно чтобы n не было прстым числом, т.е должно иметь делители кроме 1 и n. Поэтому при вводе n нужно делать соответствующую проверу.
Для этого я бы написал логическую функцию проверки простых чисел и проверял ввод n так:
Pascal
1
2
3
4
repeat
write('n=');
readln(n);
until not Prost(n);
Кроме того число k должно быть таким делителем числа n. Опять нужна проверка типа:
Pascal
1
2
3
4
repeat
write('k=');
readln(k);
until (k>1)and (k<n) and (n mod k=0);
Добавлено через 1 час 3 минуты 49 секунд
Да и решение какое-то странное. Нужно ведь из множества, например [1,2,3,4,5,6,7,8,9] получить его разбиения из 3 по три с равной суммой и чтоб в разбиениях элементы не поаторялись, т.е. например
[1,5,9] [2,6,7] [3,4,8]. А это для больших n не такая простая задача, рекурсией попахивает.
0
0 / 0 / 0
Регистрация: 03.10.2008
Сообщений: 9
12.11.2008, 23:16  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Дело не в четности или нечетности. Нужно чтобы n не было прстым числом, т.е должно иметь делители кроме 1 и n. Поэтому при вводе n нужно делать соответствующую проверу.
Для этого я бы написал логическую функцию проверки простых чисел и проверял ввод n так:
repeat
write('n=');
readln(n);
until not Prost(n);
Кроме того число k должно быть таким делителем числа n. Опять нужна проверка типа:
repeat
write('k=');
readln(k);
until (k>1)and (k<n) and (n mod k=0);
В условии сказано что k делитель n, следовательно n не простое!

А МОЖЕТ КТО-ТО РЕШИТЬ ЭТУ ЗАДАЧУ???
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
13.11.2008, 09:30
следовательно n не простое!
А если пользователь введет число 17? Если ты таких вещей не знаешь, зачем за серьезные задачи берешься? Ищи в инете, в книгах про генерацию разбиений множеств.
0
0 / 0 / 0
Регистрация: 03.10.2008
Сообщений: 9
13.11.2008, 16:55  [ТС]
Пользователь не вводит... А число уже дано... Не понял... каких вещей я не знаю??? И всё-таки можно хоть какую нибудь идею.. Или вы просто сами не знаете как решить??
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
13.11.2008, 17:06
А число уже дано.
Кем дано? Богом? Я Вам написал, что и где искать. А решать эту задачу мне как то ни к чему, мне ее не задавали.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
13.11.2008, 18:40
Вот работа на тему разбиения множеств, но там генерируются все подмножества, а тебе надо выбрать из них только те, в которых количество элементов равно n div k, а их сумма ((1+n)*n div 2) div k.
Вложения
Тип файла: rar 3929.rar (23.9 Кб, 86 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.11.2008, 18:40
Помогаю со студенческими работами здесь

Найдите уравнение какой-либо прямой, делящей данное множество точек на два подмножества
На плоскости заданы 2n точек своими координатами. Найдите уравнение какой-либо прямой, делящей...

Дано множество целых чисел от 10 до 100. Найдите заданные подмножества
Помогите пожалуйста. Дано множество целых чисел от 10 до 100. Найдите подмножество А – целых...

Дано множество чисел от 10 до 100.Найти подмножества A,B,C опираясь на условия
Дано множество целых чисел от 10 до 100. Найдите подмножество А – целых чисел, кратных 5, В –...

Сформировать множество и выделить из него заданные подмножества
Даны три множества Х1={1,2,3,…, 20}, Х2={10, 11, 12,… , 30} и Х3={1, 3, 5,… , 19, 21). Сформировать...

Разделить множество на три подмножества
Задать множество S состоящее из символов. Разделить множество S на три подмножества: А – символы...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru