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

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

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

> Рекурсия, Рекурсия
toxa
сообщение 21.05.2005 21:33
Сообщение #1





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

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


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


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

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

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


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


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


Бывалый
***

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

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


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


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





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

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


Klem4 ты прав только мне надо массив не из 10 чисел, а из N ( это я просто пример привёл)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 25.05.2005 20:23
Сообщение #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 (никаких "например", заметь...) Приведи результат, который ты хочешь получить после отработки программы...
 К началу страницы 
+ Ответить 
toxa
сообщение 26.05.2005 22:25
Сообщение #6





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

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


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

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

 



- Текстовая версия 19.07.2025 14:48
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"