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

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Рекурсия, Рекурсия
сообщение
Сообщение #1





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

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


Помогите решить задачу а то я чё то торможу :molitva:
Дан одномерный массив (например из 10 чисел). Эти числа надо разбить на группы (например по 5 ) так, чтобы не было одинаковых чисел (например 5 6 7 1 4 входили, а 6 1 4 5 7, 1 4 5 7 6, и т д не входили) количество таких групп я подсчитал по формуле (в данном примере их 252), а вот как их вывести?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


не очень ясно условие, у тебя сказано массив из 10 элементов, в реальности я вижу 3 массива по 5 элементов, причем во всех одни и теже числа, возможно надо из массива (10 чисел) составить максимальное кол-во "разных пятерок" ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Бывалый
***

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

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


А причем тут рекурсия??? Нет такие условия не подойдут :no: , пиши поподробнее... :yes:


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





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

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


Klem4 ты прав только мне надо массив не из 10 чисел, а из N ( это я просто пример привёл)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Цитата(toxa @ 21.05.05 21:33)
Дан одномерный массив (например из 10 чисел). Эти числа надо разбить на группы (например по 5 ) так, чтобы не было одинаковых чисел (например  5 6 7 1 4 входили, а 6 1 4 5 7,    1 4 5 7 6, и т д не входили)

Формулу приведи, которая при ТАКИХ входных данных выдает тебе ответ...

Вот тебе переформулированный и упрощенный вопрос:
Дан массив из 4-х элементов: <2, 5, 7, 9> Нужно разбить его на группы по 3 (никаких "например", заметь...) Приведи результат, который ты хочешь получить после отработки программы...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





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

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


2 5 7
5 7 9
2 7 9
2 5 9
вот на такие группы надо разбить. Формула 4!/(4-3)!*3!=4
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Вот так:
const
n = 4; { количество элементов в массиве }
var
i, j, k: integer;

const
data:array[1 .. n] of integer =
(2, 5, 7, 9); { это сам исходный массив }
var
a: array[0 .. pred(n)] of integer; { дополнительный массив }

Procedure use;
var
i : integer;
begin
writeln;
for i:=1 to k do
write(data[ a[i] ]:3)
end;

begin
k := 3; { группы по К элементов }
for i:=0 to k do a[i]:=i;
repeat
use;
i:=k;
while a[i]=n-k+i do dec(i);
inc(a[i]);
for j:=i+1 to k do a[j]:=a[j-1]+1;
until i=0;
end.

Только рекурсия здесь на самом-то деле не нужна... :no:
 К началу страницы 
+ Ответить 

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

 





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