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

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

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

> ПОМОГИТЕ ДОПОЛНИТЬ АЛГОРИТМ, ДОПОЛНИТЬ АЛГОРИТМ ПОДСЧЁТА СОЧЕТАНИЙ
сообщение
Сообщение #1


Новичок
*

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

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


ПОМОГИТЕ КТО МОЖЕТ.
Я ФИЗИК В ПОСКАЛЕ СИКУ СЛОБО, НО НАШЁЛ НА ВАШЕМ САЙТЕ ПОЧТИ ТО ЧТО МНЕ НУЖНО.
ВОТ СХОЖАЯ С МОЕЙ ЗАДАЧА НА СОЧЕТАНИЯ КОТОРУЮ Я НАШЁЛ.
Сочетания
Задачи о сочетаниях решают вопрос о том, сколькими способами можно выбрать M элементов из заданного N элементного множества и генерации всех возможных выборок. Число выборок вычисляется следующей формулой С=n!/(m!(n - m)!).

Рассмотрим задачу о генерации сочетаний в лексикографическом порядке.
ПРИМЕР 1.
Для примера рассмотрим начальные данные N=6 и M=4. Тогда число сочетаний равно 15. Начальное сочетание образует последовательность 1, 2, .. m, а последнее n-m+1, … , n.

Цитата
1234 1256 2345
1235 1345 2346
1236 1346 2356
1245 1356 2456
1246 1456 3456

Переход к следующему сочетанию осуществляется по следующему правилу: требуется просмотреть текущее сочетание с конца и найти элемент, который можно увеличить. То есть такой элемент что a[i] <> n-k+i. Далее увеличиваем этот элемент на 1, а оставшуюся часть сочетания заполняем числами натурального ряда большими измененного элемента в порядке их следования.


program sochets; 
var
i, j, n, m: integer;
a: array[0 .. 100] of integer;

{ процедура вывода текущего сочетания }
procedure use;
var i: integer;
begin
writeln;
for i:=1 to m do write(a[i]:3)
end;

begin
write('ввод N и M: '); read(n, m);
{ формирование первого сочетания }

for i:=0 to m do a[i]:=i;
repeat
use;
i:=m;
while a[i]=n-m+i do dec(i); { поиск элемента для изменения }
inc(a[i]);
for j:=i+1 to m do a[j]:=a[j-1]+1; { изменение правой части сочетания }
until i=0;
end.


МОЯ ЗАДАЧА ОТЛИЧАЕТСЯ ОТ ПРЕДСТАВЛЕННОЙ ЗАДАЧИ(ПРИМЕР 1) ТЕМ ЧТО:

1) N=8 А НЕ 6 А СЛЕДОВАТЕЛЬНО И КОЛЛИЧЕСТВО СОЧЕТАНИЙ УВЕЛИЧИТСЯ С 15 ДО 70.
2) НЕОБХОДИМО ЧТОБЫ АЛГОРИТМ НЕ ТОЛЬКО ПОДСЧИТЫВАЛ И ВЫВОДИЛ НА ЭКРАН КОЛ-ВО СОЧЕТАНИЙ НО И ПОДСЧИТЫВАЛ И ВЫВОДИЛ КОЛ-ВО СОЧЕТАНИЙ В КОТОРЫХ ВСТРЕЧАЮТСЯ ОПРЕДЕЛЁННЫЕ ЦЫФРЫ, А КОНТРЕТНЕЕ НУЖНО ПОДСЧИТАТЬ И ВЫВЕСТИ ВСЕ СОЧЕТАНИЯ В КОТОРЫХ ВСТРЕЧАЮТСЯ СЛЕДУЮЩИЕ ЦЫФРЫ:

1 И 3 ЛИБО
2 И 4 ЛИБО
3 И 5 ЛИБО
4 И 6 ЛИБО
5 И 7 ЛИБО
6 И 8 ЛИБО
1 И 7 ЛИБО
2 И 8.

С ПОМОЩЬЮ ТЕОРИИ ВЕРОЯТНОСТИ Я ЭТУ ЗАДАЧУ РЕШИЛ НО МНЕ НУЖЕН ИМЕННО АЛГОРИТМ НА ПАСКАЛЕ.

И ПОДСКАЖИТЕ ПАЖАЛУЙСТО СКОЛЬКО ПРИМЕРНО ВРЕМЕНИ АЛГОРИТМ БУДЕТ СЧИТАТЬ НА ПОСКАЛЕ ЭТУ ЗАДАЧУ ЕСЛИ ЗНАЧЕНИЯ "M" И "N" БУДУТ БОЛЬШИМИ, А КОНКРЕТНЕЕ M=50, N=10

ОГРОМНОЕ СПОСИБО ПРОГРАМИСТАМ ОТ ФИЗИКОВ.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
KOMBIDEN   ПОМОГИТЕ ДОПОЛНИТЬ АЛГОРИТМ   9.02.2010 0:20
Lapp   KOMBIDEN, пожалуйста, прочти Правила Форума. Особ…   9.02.2010 8:40
KOMBIDEN   Большое спосибо Lapp   11.02.2010 2:35
Lapp   Большое спосибо LappНет проблем, заходи еще. Можн…   11.02.2010 11:37
KOMBIDEN   Добрый день LAPP. Извини что опять тебя беспокою.…   28.02.2010 2:02
Lapp   KOMBIDEN, извини, но опять тебя приходится учить э…   28.02.2010 10:56
KOMBIDEN   Спосибо за токую оперативную помощ.   28.02.2010 21:37
KOMBIDEN   Здравсвуйте. В чём ошибка!? Формула подсчёта в…   21.03.2010 3:10
sheka   Здравсвуйте. В чём ошибка!? Формула подсчёта …   21.03.2010 3:23
Lapp   при значениях n = 50 и m = 10 алгоритм выдал что (…   21.03.2010 5:46
volvo   Вот только про Comp не надо забывать... Хоть форма…   21.03.2010 6:12
KOMBIDEN   Подскажите, пожалуйсто, по подробнее как менять ти…   21.03.2010 14:52
Lapp   Подскажите, пожалуйсто, по подробнее как менять ти…   21.03.2010 22:05
KOMBIDEN   Спосибо. Работает, только ответ выдает в десятично…   23.03.2010 4:59
Lapp   ответ выдает в десятичном числе с плавоющей точкой…   23.03.2010 7:51
KOMBIDEN   Понял, спосибо, пользуюсь пока Турбо, а какие прии…   23.03.2010 13:01
Lapp   какие приимущества у FPC перед Турбо в моём случае…   25.03.2010 3:34
KOMBIDEN   Полял. Спосибо. Сейчас Скачаю FPC. Как я понимаю о…   26.03.2010 14:32
Lapp   Скачаю FPC. Как я понимаю он полностью совместим с…   26.03.2010 16:03
KOMBIDEN   Огромое спосибо, что посоветовали FPC. На FPC алго…   26.03.2010 19:24
Lapp   На FPC алгоритм с дерективами на тестовых задачах …   27.03.2010 2:51
Гость   Доброго времени суток всем. Помогите дополнить алг…   11.03.2011 23:41


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

 





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