Wprowadzenie do Factorial w PHP

Zanim zaczniemy uczyć się silni w PHP, zrozummy termin silnia. Współczynnik liczby jest iloczynem wszystkich liczb, zaczynając od 1 do samej liczby. Przy obliczaniu iloczynu wszystkich liczb sama liczba jest uwzględniana.

Współczynnik liczby jest obliczany tylko dla dodatnich liczb całkowitych. Silnia 0 wynosi zawsze 1, a silnia liczby ujemnej nie istnieje. Jest oznaczony przez „!” poprzedzony liczbą. Przykład n! gdzie n jest liczbą

Więc,

Silnia 5! oznacza silnię 5

Silnia z 7! oznacza silnię 7

Na przykład silnia liczby 5 wynosi:

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

Podobnie silnia liczby 7 wynosi:

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

i tak dalej..

Teraz, jak właściwie znaleźć silnię, możemy to zrobić za pomocą

  1. dla pętli (bez rekurencji)
  2. z rekurencją

Logika czynnikowa

Logika uzyskiwania silni liczby jest następująca.

  1. Uzyskaj liczbę, której silnię należy obliczyć.
  2. Zdobądź wszystkie liczby, zaczynając od 1 do tej liczby.
  3. Uzyskaj pomnożenie wszystkich liczb.

Zapamiętaj silnię 0! = 1.

Jak znaleźć Factorial w PHP?

Nauczymy się dalej, używając różnych metod obliczania silni podanej liczby za pomocą kodu PHP. Podobnie jak przy użyciu rekurencji, rekurencja z danymi wejściowymi użytkownika, bez rekurencji, bez rekurencji z danymi wejściowymi użytkownika.

O rekursji

Podobnie jak inne języki PHP obsługuje również rekursję. Co to jest rekurencja? Gdy funkcja wywołuje się, określa się ją jako rekurencję. Funkcja rekurencyjna wywołuje się w obrębie funkcji.

Przykład 1

W poniższym programie PHP obliczana jest silnia liczby 5. Jest to prosty program korzystający z pętli for. Ta pętla for jest iterowana w sekwencji liczb zaczynającej się od liczby do osiągnięcia 1.

Kod:

<_?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
?>

Wyjście :

Przykład nr 2

W poniższym programie zastosowaliśmy prosty formularz HTML z tekstem wejściowym i przyciskiem wysyłania. Pole wprowadzania służy do wprowadzania danych przez użytkownika. Przycisk Prześlij służy do przesłania danych formularza. Po tym następuje kod PHP do iteracji pętli, w której obecna jest cała logika, czego nauczyliśmy się w poprzednim programie. Więc teraz ta sama logika jest używana w formularzu wejściowym.

Jeśli użytkownik wprowadzi liczbę dodatnią za pomocą pola wprowadzania w formularzu, silnia tej liczby zostanie obliczona, a wynik zostanie wydrukowany.

Kod:


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;
)
?>

Wynik :

Przykład nr 3

W powyższych dwóch programach nie zawarliśmy logiki w funkcji. Tutaj umieściliśmy główną logikę w funkcji, a następnie wywołaliśmy tę funkcję, aby obliczyć silnię podanej liczby w PHP. Tutaj nazwa funkcji to Factorial_Function, która znajduje silnię liczby 8.

Kod:

//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;
?>

Wyjście :

Przykład 4

Wiemy, że rekurencja wywołuje funkcję w obrębie funkcji. W poniższym przykładzie użyjemy rekurencji i znajdziemy silnię liczby za pomocą kodu PHP. Główna logika jest zawarta w nazwie funkcji Factorial_Function. W ramach tej funkcji, jeśli wartość wejściowa jest większa niż jedna, to ta sama funkcja jest wywoływana ponownie, a jeśli wartość wejściowa jest mniejsza lub równa 1, wówczas zwracana jest jedna.

Korzystanie z rekurencji

Kod:

<_?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);
?>

Wyjście :

Przykład 5

Dowiedzieliśmy się teraz o rekurencji. W poniższym programie użyliśmy rekurencji, rekursja jest stosowana do liczby, która jest danymi wejściowymi od użytkownika w tym przykładzie.

Kod:


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);
)
?>

Wynik:

Wniosek

W tym artykule omówiono wszystkie wyjaśnienia i przykłady znalezienia silni liczby za pomocą PHP. Przykłady objaśniono przy użyciu metod rekurencyjnych i nierekurencyjnych, wraz z wyjaśnieniem rekurencji w kontekście programu. Mam nadzieję, że ten artykuł okazał się pouczający, aby uczyć się i dobrze rozumieć.

Polecane artykuły

To jest przewodnik po Factorial w PHP. Tutaj omawiamy podstawową koncepcję i jak znaleźć silnię liczby w PHP z różnymi przykładami. Możesz także spojrzeć na następujący artykuł, aby dowiedzieć się więcej -

  1. Przegląd funkcji matematycznych PHP
  2. Przykłady funkcji łańcuchowych PHP
  3. Jak podłączyć bazę danych do PHP?
  4. Wprowadzenie do PHP
  5. Stałe PHP
  6. Wprowadzenie do Factorial w Javie