PHP nCr()

1 개요[ | ]

PHP nCr()
function nCr($n, $r) {
    if( $r > $n ) return -1;
    if( $r == 0 ) return 1;
    if( $n == $r ) return 1;
    if( $n-$r<$r ) $r=$n-$r;
    $res = 1;
    for($i=1; $i<=$r; $i++) $res*=($n-$i+1)/$i;
    return $res;
}
echo nCr(1,2) ."\n";     # -1
echo nCr(2,2) ."\n";     # 1
echo nCr(3,2) ."\n";     # 3
echo nCr(4,2) ."\n";     # 6
echo nCr(5,2) ."\n";     # 10
echo nCr(1000,5) ."\n";  # 8250291250200
function nCr($n, $r) {
    if( $r > $n ) return -1;
    if( $r == 0 ) return 1;
    if( $n == $r ) return 1;
    return nCr($n-1,$r)+nCr($n-1,$r-1);
}
echo nCr(1,2)  ."\n";  # -1
echo nCr(2,2)  ."\n";  # 1
echo nCr(3,2)  ."\n";  # 3
echo nCr(4,2)  ."\n";  # 6
echo nCr(5,2)  ."\n";  # 10
echo nCr(52,5) ."\n";  # 2598960

2 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}