15/09/2018, 16:48

Tính giai thừa trong PHP

PHP Định nghĩa giai thừa : giai thừa của 1 số là tích các số liên tiếp từ 1 đến số đó. Trường hợp đặc biệt, giai thừa của 0 và 1 là 1. Ví dụ: giai thừa của 5 là 1*2*3*4*5 = 120 Có 2 cách để viết chương trình tính giai thừa trong PHP: Tính giai thừa không sử dụng đệ ...

PHP

Định nghĩa giai thừa: giai thừa của 1 số là tích các số liên tiếp từ 1 đến số đó. Trường hợp đặc biệt, giai thừa của 0 và 1 là 1.

Ví dụ: giai thừa của 5 là 1*2*3*4*5 = 120

Có 2 cách để viết chương trình tính giai thừa trong PHP:

  • Tính giai thừa không sử dụng đệ quy.
  • Tính giai thừ có sử dụng đệ quy.

Tính giai thừa không sử dụng đệ quy

Ví dụ chương trình tính giai thừa trong PHP không sử dụng phương pháp đệ quy:

<?php
$a = 5;
$b = 0;
$c = 10;

/**
 * tinh giai thua
 *
 * @author viettuts.vn
 * @param n: so nguyen duong
 */
function tinhGiaithua($n) {
    $giai_thua = 1;
    if ($n == 0 || $n == 1) {
        return $giai_thua;
    } else {
        for($i = 2; $i <= $n; $i ++) {
            $giai_thua *= $i;
        }
        return $giai_thua;
    }
}

// tính giai thừa
echo ("Giai thừa của " . $a . " là: " . tinhGiaithua ( $a ) . "<br>");
echo ("Giai thừa của " . $b . " là: " . tinhGiaithua ( $b ) . "<br>");
echo ("Giai thừa của " . $c . " là: " . tinhGiaithua ( $c ) . "<br>");
?>

Kết quả:

Giai thừa của 5 là: 120
Giai thừa của 0 là: 1
Giai thừa của 10 là: 3628800

Tính giai thừa có sử dụng đệ quy

Ví dụ chương trình tính giai thừa trong PHP có sử dụng phương pháp đệ quy:

<?php
$a = 5;
$b = 0;
$c = 10;

/**
 * tinh giai thua bằng phương pháp đệ quy
 *
 * @author viettuts.vn
 * @paramn: so nguyen duong
 */
function tinhGiaithua($n) {
    if ($n > 0) {
        return $n * tinhGiaithua ( $n - 1 );
    } else {
        return 1;
    }
}

// tính giai thừa
echo ("Giai thừa của " . $a . " là: " . tinhGiaithua ( $a ) . "<br>");
echo ("Giai thừa của " . $b . " là: " . tinhGiaithua ( $b ) . "<br>");
echo ("Giai thừa của " . $c . " là: " . tinhGiaithua ( $c ) . "<br>");
?>

Kết quả:

Giai thừa của 5 là: 120
Giai thừa của 0 là: 1
Giai thừa của 10 là: 3628800
PHP
0