Úvod do Factorial v PHP

Než začneme učit Factorial v PHP, dejte nám porozumět pojmu faktoriální. Factorial of number je součinem všech čísel od 1 do samotného čísla. Při výpočtu součtu všech čísel je samotné číslo zahrnuto.

Součet čísla se počítá pouze pro kladná celá čísla. Faktoriál 0 je vždy 1 a faktoriál záporného čísla neexistuje. Označuje se „!“ předchází číslo. Příklad n! kde n je číslo

Tak,

Factorial of 5! znamená faktoriál 5

Factorial of 7! znamená faktoriál 7

Například faktoriál číslo 5 je:

5! = 5 * 4 * 3 * 2 * 1 = 120

Podobně faktoriál číslo 7 je:

7! = 7 * 6 * 5 * 4 * 3 * 2 * 1 = 5040

a tak dále..

Nyní, jak vlastně najdeme faktoriál, můžeme to udělat pomocí

  1. pro smyčku (bez rekurze)
  2. s rekurzí

Factorial Logic

Logika získávání faktoriálu čísla je následující.

  1. Získejte číslo, jehož faktoriál se má vypočítat.
  2. Získejte všechna čísla od 1 do tohoto čísla.
  3. Získejte násobení všech čísel.

Nezapomeňte na faktoriál 0! = 1.

Jak najít Factorial v PHP?

Naučíme se dále pomocí různých metod vypočítat faktoriál daného čísla pomocí PHP kódu. Stejně jako použití rekurze, rekurze se vstupem uživatele, bez rekurze, bez rekurze se vstupem uživatele.

O rekurzi

Stejně jako jiné jazyky podporuje PHP také rekurzi. Co je rekurze? Když funkce volá sama sebe, se nazývá rekurze. Rekurzivní funkce se v rámci této funkce volá.

Příklad č. 1

V následujícím programu PHP se vypočítá faktoriál číslo 5. Jedná se o jednoduchý program využívající smyčku. To pro smyčku je iterováno na posloupnosti čísel počínaje od čísla po 1.

Kód:

<_?php
//example to calculate factorial of a number using simple for loop
//declaring the input number as 5
$input=5;
//declaring the fact variable as 1
$fact =1;
//iterating using for loop
for($i=$input; $i>=1;$i--) (
// multiply each number up to 5 by its previous consecutive number
$fact = $fact * $i;
)
// Print output of the program
echo '
'. 'The factorial of the number 5 is '. $fact
?>

Výstup :

Příklad č. 2

V níže uvedeném programu jsme použili jednoduchý HTML formulář se vstupním textem a tlačítkem pro odeslání. Vstupní pole se používá k získání uživatelského vstupu. Tlačítko Odeslat se používá k odeslání dat formuláře. Následuje PHP kód pro iteraci smyčky, kde je přítomna veškerá logika, kterou jsme se naučili v předchozím programu. Teď se tedy u vstupního formuláře používá stejná logika.

Pokud uživatel zadá kladné číslo přes vstupní pole ve formuláři, vypočítá se faktoriál tohoto čísla a výsledek se vytiskne.

Kód:


Factorial Program

Enter a number

// example to demonstrate factorial of a number using form
if($_POST('submit') == "Submit") (
$input = $_POST('number');
$fact=1;
//iterating using for loop
for($i=$input; $i>=1;$i--) (
$fact = $fact * $i;
)
// Print output of the program
echo '
'. 'The factorial of the number '.$input.' is ' . $fact;
)
?>
<_?php

Factorial Program

Enter a number

// example to demonstrate factorial of a number using form
if($_POST('submit') == "Submit") (
$input = $_POST('number');
$fact=1;
//iterating using for loop
for($i=$input; $i>=1;$i--) (
$fact = $fact * $i;
)
// Print output of the program
echo '
'. 'The factorial of the number '.$input.' is ' . $fact;
)
?>

Výstup :

Příklad č. 3

Ve výše uvedených dvou programech jsme logiku nezahrnuli do funkce. Zde jsme do funkce vložili hlavní logiku a tuto funkci nazvali pro výpočet faktoriálu daného čísla v PHP. Zde je název funkce Factorial_Function, který najde faktoriál čísla 8.

Kód:

//example to calculate factorial of a number using function
//defining the factorial function
function Factorial_Function($number) (
$input = $number;
$fact=1;
//iterating using for loop
for($i=$input; $i>=1;$i--) (
$fact = $fact * $i;
)
return $fact;
)
//calling the factorial function
$result = Factorial_Function(8);
echo 'Factorial of the number 8 is '.$result;
?>

Výstup :

Příklad č. 4

Víme, že rekurze volá funkci v rámci funkce. V následujícím příkladu použijeme rekurzi a pomocí faktoru PHP najdeme faktoriál čísla. Hlavní logika je zabalena do názvu funkce Factorial_Function. V rámci této funkce, pokud je vstup větší než jeden, je pak stejná funkce vyvolána znovu a pokud je vstup menší nebo roven 1, vrátí se jeden.

Pomocí rekurze

Kód:

<_?php
//Example to demonstrate factorial of a number using recursion
//function containing logic of factorial
function Factorial_Function($input)
(
// if the input is less than or equal to 1 then return
if($input <=1) (
return 1;
)
// else do a recursive call and continue to find the factorial
return $input * Factorial_Function($input-1); //doing a recursive call
)
echo "Factorial of 9 is ".Factorial_Function(9);
?>

Výstup :

Příklad č. 5

Nyní jsme se dozvěděli o rekurzi. V následujícím programu jsme použili rekurzi, rekurze se použije na číslo, které je v tomto příkladu vstupem uživatele.

Kód:


Factorial Program

Enter a number

// example to demonstrate factorial of a number using form
function Factorial_Function($input)
(
// if the input is less than or equal to 1 then return
if($input <=1) (
return 1;
)
// else do a recursive call and continue to find the factorial
return $input * Factorial_Function($input-1); //doing a recursive call
)
if(!empty($_POST('number')))(
$input = $_POST('number');
// Print output of the program
echo '
'. 'The factorial of the number '.$input.' is ' . Factorial_Function($input);
)
?>
<_?php

Factorial Program

Enter a number

// example to demonstrate factorial of a number using form
function Factorial_Function($input)
(
// if the input is less than or equal to 1 then return
if($input <=1) (
return 1;
)
// else do a recursive call and continue to find the factorial
return $input * Factorial_Function($input-1); //doing a recursive call
)
if(!empty($_POST('number')))(
$input = $_POST('number');
// Print output of the program
echo '
'. 'The factorial of the number '.$input.' is ' . Factorial_Function($input);
)
?>

Výstup:

Závěr

Tento článek obsahuje všechna vysvětlení a příklady pro nalezení faktoriálu čísla pomocí PHP. Příklady jsou vysvětleny rekurzivními a nerekurzivními způsoby spolu s vysvětlením rekurze v kontextu s programem. Doufám, že tento článek byl shledán informativní, aby se dobře naučil a pochopil.

Doporučené články

Toto je průvodce PHP v PHP. Zde diskutujeme základní koncept a jak najít faktoriál čísla v PHP s různými příklady. Další informace naleznete také v následujícím článku -

  1. Přehled funkcí PHP Math
  2. Příklady funkcí PHP String
  3. Jak připojit databázi k PHP?
  4. Úvod do PHP
  5. Konstanty PHP
  6. Úvod do Factorial v Javě

Kategorie: