![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 09.02.2009
Сообщений: 143
|
![]()
3) Составить программу вычисления числа сочетаний используя для числовых данных только тип integer. Вычислить с помощью программы с11\18
Сочетаниями называют комбинации, составленные из n различных элементов по k, которые отличаются хотя бы одним элементом. Количество комбинаций - это число сочетаний 5 из 3, т.е. C 3\5 =10. Ck\n= n!\k!(n-k)! C 3\5 = !5/[!(5-3)·!3]. (слееш в условии - показатель какой элемент сверху\снизу) ___________________________________ ______________ uses crt; var m,n:integer; function c(m,n:integer):longint; begin if m>n then c:=0; if (m=0) or (m=n) then c:=1 else if n-m<m then c:=c(n-m,m) else c:=c(m-1,n-1)+c(m,n-1); end; begin clrscr; write('M N-> '); readln(m,n); writeln('C=',c(m,n)); readln; end. вот код. он работает но как то странно. при наборе 11\18 результат обработки очень маленький или ошибкка код правильный ? ошибки в вычислении быть не может ? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]()
Отладчик?..
C(11,18)=31824 Проверьте на меньших значениях. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
вот отсюда взял..
Код:
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 09.02.2009
Сообщений: 143
|
![]()
тут еще вариантов 7 есть кода, но они работают мене стабильно
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 09.02.2009
Сообщений: 143
|
![]()
пардон
это из старого кода все нормально спасибо юстас - витасу Последний раз редактировалось бедный_студент; 24.12.2012 в 16:49. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 16.10.2012
Сообщений: 13
|
![]()
подскажите как к этой задаче переделать условие на цикл? вообще возможно ли такое?
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
тут цикл (неявный) и так есть.
Рекурентная формула в данном случае считается через рекурсию (функция C вызывает сама себя) |
![]() |
![]() |
![]() |
#8 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
![]() Код:
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Рома][а, можно и так.
НО! katyawapka пришёл(?пришла) из этой темы: Для заданных чисел m и n вычислить число сочетаний если я его правильно понял, то ему(?ей) нужно как раз через реккурентную формулу расчитать число сочетаний |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Даны вещественное число a и натуральное число n. Вычислить S | Dimaska931 | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 28.11.2012 12:09 |
Найти количество сочетаний из n по k и вывести все комбинации этих сочетаний на экран | Рон99 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 14.12.2011 00:05 |
Посчитать число сочетаний (Cnk) | pollypolly | Visual C++ | 0 | 07.11.2011 21:30 |
Дано натуральное число n. Вычислить: | Petrovich83 | Помощь студентам | 2 | 08.04.2011 12:14 |
Дано действительное число х. Вычислить | Incognitoal | Помощь студентам | 7 | 09.03.2009 12:27 |