2012-01-29 4 views
2

나는 조합론에 익숙하지 않지만 PHP를 사용하여 C(m,n)을 계산해야합니다. 쉬운 방법은 무엇입니까 C(m,n)을 찾으십니까?PHP에서 조합을 어떻게 할 수 있습니까?

+0

0 당신은 문제가 있습니까 인 경우 1을 반환해야합니다? – deceze

+0

PHP를 사용하여 C (m, n)을 계산하는 것이 바람직합니다. –

답변

1

위키피디아의 수식을 사용했습니다. 작동해야 함 :

function fact($n){ 
    $f=$n--; 
    while($n>0) 
    $f*=$n--; 
    return $f; 
} 


function c($n,$m){ 
    return fact($n)/(fact($m)*fact($n-$m)); 
} 

echo c(6,3); 

내 기능에 문제가있는 경우 알려주십시오. 감사합니다.

+0

이 기능들은 당신이 원하는대로 할 것입니다. 계승은 꽤 솔직하며, 재귀 적으로도 수행 될 수 있습니다. c() 함수는 반복과 함께 조합을 계산합니다. –

+0

당신은'C (m, n)'을 찾고 있지만 그 구현은'c ($ n, $ m)'로 쓰여 있으므로 여기에서 이름을 바꾼 것처럼 보입니다. 또한 위키 백과 문서의 링크를 남겨주세요. – hakre

0

계승은 * 알고리즘을 구현하거나 * * 기존 기능을 찾고 *, * 조합론을 이해 * 결과가

function fact($n){ 
     $f=$n--; 
     while($n>0) 
     $f*=$n--; 
     if($f==0){ 
     return 1; 
     } 
     return $f; 
    } 
관련 문제