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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2019, 11:11   #1
Эдуард81
 
Регистрация: 19.02.2019
Сообщений: 3
По умолчанию задание на разбиение числа

помогите пожалуйста!!!
вот задачка
Диаграммы Юнга используются для того, чтобы изобразить разбиение числа на слагаемые. Разбиение числа n на слагаемые представляет собой сумму вида n = m1 + m2 + … + mk, где m1 ≥ m2 ≥ … ≥ mk.
Диаграмма состоит из n квадратиков, организованных в виде k рядов, где k количество слагаемых в разбиении. Ряд, соответствующий числу mi, содержит mi квадратиков. Все ряды выровнены по левому краю и упорядочены от более длинного к более короткому.

Например, диаграмма Юнга, приведенная на рисунке, соответствует разбиению 10 = 5 + 3 + 2.
in
7
out
3 4
или
31
2 3 5 6 7 8


горю помогите ...
вот мой вариант но он показывает все разбиения
Код:
uses crt;
type arr=array[1..1000]of integer;
 
procedure Recursion(i,pos,sum,n:integer;a:arr);
var j,k:integer;
begin
    for j:=3 to n-1 do
    begin
        a[pos]:=j;
        if sum+j=n then
        begin
            for k:=1 to pos do 
                if k>1 then write('  ',a[k])
                else write(a[k]);
            writeln
        end
        else    
        if sum+j<n then Recursion(j,pos+1,sum+j,n,a);
    end;
end;
 
var n:integer;
    a:arr;
begin
    write('n:');
    readln(n);
    Recursion(1,1,0,n,a);
    readkey;        
end.





и еще один может тут что то изменить:
uses
  system;
var
  i, x,n: longint;
begin
  readln(x);//readln(n);
  if x>10 then i:=2 else i:=3;
  repeat
    x := x - i;
    write(i, ' ');
    inc(i)
  until x <= 2+i;
  writeln(x);
 // writeln('count = ', i);
  readln
end.
Пожалуйста, оформляйте Ваш код согласно правилам.

Последний раз редактировалось Вадим Мошев; 19.02.2019 в 12:09.
Эдуард81 вне форума Ответить с цитированием
Старый 19.02.2019, 12:22   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Чем разбиение 3 4 лучше разбиения 2 5? Или 2 3 5 6 7 8 от 1 4 5 6 7 8? Какое из них получить в результате или все подобные?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 20.02.2019, 06:01   #3
Эдуард81
 
Регистрация: 19.02.2019
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Чем разбиение 3 4 лучше разбиения 2 5? Или 2 3 5 6 7 8 от 1 4 5 6 7 8? Какое из них получить в результате или все подобные?
не знаю по условию наверное
вот такое же условие похожей задачи

Новый созыв парламента страны ZGK состоит из N депутатов. Согласно нормативным документам депутаты должны быть разделены на различные группы различного размера. Каждый депутат
может входить только в одну группу. Ежедневно, каждая группа должна послать одного депутаты
в Главный комитет. Состав Главного комитета должен быть различным каждый день. Парламент
может работать пока вышеприведённое условие соблюдается.
Вам нужно написать программу, которая определяет размер каждой группы депутатов, так,
чтобы парламент мог работать как можно дольше.
Формат входных данных
Строка содержит одно целое число N (1 ⩽ N ⩽ 1000).
Формат выходных данных
Должна быть одна строка, в которой через пробел записаны размеры групп депутатов парламента в порядке возрастания, такие, чтобы парламент мог работать максимально долго
Примеры
стандартный ввод стандартный поток ввода
7 -> 3 4
31 -> 2 3 5 6 7 8
Эдуард81 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задание на степень числа now2 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 03.12.2014 08:07
Разбиение числа на цифры, из которых оно состоит Horrorrer Помощь студентам 4 29.11.2011 16:15
Разбиение числа Neitrosha Помощь студентам 1 26.11.2010 23:21
Разбиение натурального числа на 3 слагаемых Neitrosha Помощь студентам 13 27.10.2010 18:45
Разбиение числа на слагаемые p1r2o3 Помощь студентам 23 16.03.2010 13:38