IPB
ЛогинПароль:

> Разбиение числа на слагаемые, Надо разбить число N на суму из K слагаемых.
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 168
Пол: Мужской

Репутация: -  3  +


Надо методом перебора. Я сделал, только они повторяются:
1 3 5 - 5 3 1
Может у вас есть алгоритм для этой задачи?
Я думал сохранить результаты в массиве, т.е если числа вектора не повторяются с теми что из массива то добавляем в массив, но это не эфективно, думаю есть более простой метод.
Спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Заодно попробуй вот это (набирал прямо здесь, так что может чего где забыл, поправь если что) :

var
  q : integer;
  n : integer;

  arr : array[1 .. 10] of integer;

procedure p(start, count : integer);
var i, s : integer;
begin
  if count > q then
  begin
    s := 0;
    for i := 1 to q do s := s + arr[i];
    if s = n then
    begin
      for i := 1 to q do write(arr[i]:3);
      writeln;
    end;
  end
  else
  begin
    for i := start + 1 to n do // Вот основная идея: чтоб решения и слагаемые не повторялись
    begin
      arr[count] := i;
      p(arr[count], count + 1); // рекурсия присутствует
    end;
  end;
end;

begin
  n := 9;
  q := 3;
  p(0, 1);
end.
 К началу страницы 
+ Ответить 

Сообщений в этой теме
DarkWishmaster   Разбиение числа на слагаемые   18.04.2011 2:14
Lapp   Надо методом перебора. Я сделал, только они повтор…   18.04.2011 9:42
volvo   Алгоритм ты озвучил сам: перебор. Есть реализаци…   18.04.2011 19:26
Lapp   Алгоритм ты озвучил сам: перебор. Есть реализаци…   19.04.2011 8:11
DarkWishmaster   Забыл сказать что все числа должны быть разными (т…   18.04.2011 20:38
volvo   Покажи то, что ты придумал без рекурсии...   18.04.2011 20:48
DarkWishmaster   Покажи то, что ты придумал без рекурсии... щяс …   18.04.2011 21:20
volvo   Заодно попробуй вот это (набирал прямо здесь, так …   18.04.2011 21:25
DarkWishmaster   Спасибо, volvo, только что закончил, вот без рекур…   18.04.2011 21:46
volvo   Я не игнорировал пост. Зашел, посмотрел. Кстати, н…   19.04.2011 14:46
Lapp   Я не игнорировал пост. Зашел, посмотрел. Кстати, н…   19.04.2011 15:50
Lapp   Тема разделена, остаток перенесен сюда: О недавних…   22.04.2011 8:50
ta bort gäddhä   My family all the time say that I am killing my ti…   29.09.2021 10:28


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 28.04.2025 23:05
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name