Комбинаторика
4 отговора
274 прегледа
Комбинаторика
Как мога чрез програма да:
генирирам пермутации без повторения от n елемента
генирирам пермутации с повторения от n елемента
генирирам вариации без повторения от n елемента от к-ти клас
генирирам вариации с повторения от n елемента от к-ти клас
генирирам комбинации без повторения от n елемента от к-ти клас
генирирам комбинации с повторения от n елемента от к-ти клас
Въобще интересуват ме комбинаторните алгоритми.
генирирам пермутации без повторения от n елемента
генирирам пермутации с повторения от n елемента
генирирам вариации без повторения от n елемента от к-ти клас
генирирам вариации с повторения от n елемента от к-ти клас
генирирам комбинации без повторения от n елемента от к-ти клас
генирирам комбинации с повторения от n елемента от к-ти клас
Въобще интересуват ме комбинаторните алгоритми.
Ами има си форумли :)
1. Програмирай си N!
function NFack(N: integer): int64;
2. Програмирай си формулките с помощта на функцията за N!
3. Измисли функциика за смятане на k*(k+1)*...*n, това е N!/K! - така ще оптимизираш сметките
function NКFack(N, К: integer): int64;
Така се прави - разбива са задачата на малки стъпки :)
function NFack(N: integer): int64;
2. Програмирай си формулките с помощта на функцията за N!
3. Измисли функциика за смятане на k*(k+1)*...*n, това е N!/K! - така ще оптимизираш сметките
function NКFack(N, К: integer): int64;
Така се прави - разбива са задачата на малки стъпки :)
Re: Ами има си форумли :)
Да, както се казва, това са алгоритми от типа разделяй и владей
Колкото до комбинаториката: Какво по-точно те интересува CProg?
Да намираш бройката на пермутациите, вариациите и комбинациите, или искаш
да намериш извадките в явен вид, така че да се види кои елементи от началното множество участват и в каква наредба са те?
Ако е първото, то проблема е тривиален и се свежда до развиването на стандартните формули в програмен код.
Ако е второто, решението във вид на код, ще бъде малко по-сложно, и на всичкото отгоре въпроса ти съвсем не дава достатъчна представа за това как да бъдат оформени извадките и т.н.
Е, аз съм готов да помогна, но би трябвало да си изясним тия неща предварително
[Fatal Error] UniverseLoader.god(666): Devision by cucumber. Please reinstall the Univerce
Колкото до комбинаториката: Какво по-точно те интересува CProg?
Да намираш бройката на пермутациите, вариациите и комбинациите, или искаш
да намериш извадките в явен вид, така че да се види кои елементи от началното множество участват и в каква наредба са те?
Ако е първото, то проблема е тривиален и се свежда до развиването на стандартните формули в програмен код.
Ако е второто, решението във вид на код, ще бъде малко по-сложно, и на всичкото отгоре въпроса ти съвсем не дава достатъчна представа за това как да бъдат оформени извадките и т.н.
Е, аз съм готов да помогна, но би трябвало да си изясним тия неща предварително
[Fatal Error] UniverseLoader.god(666): Devision by cucumber. Please reinstall the Univerce