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ą
- dla pętli (bez rekurencji)
- z rekurencją
Logika czynnikowa
Logika uzyskiwania silni liczby jest następująca.
- Uzyskaj liczbę, której silnię należy obliczyć.
- Zdobądź wszystkie liczby, zaczynając od 1 do tej liczby.
- 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:
<_?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;
)
?>
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:
<_?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);
)
?>
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 -
- Przegląd funkcji matematycznych PHP
- Przykłady funkcji łańcuchowych PHP
- Jak podłączyć bazę danych do PHP?
- Wprowadzenie do PHP
- Stałe PHP
- Wprowadzenie do Factorial w Javie