Introductie tot Factorial in PHP

Voordat we beginnen met het leren van Factorial in PHP, laten we de term faculteit begrijpen. De factor van een nummer is het product van alle nummers vanaf 1 tot en met het nummer zelf. Bij het berekenen van het product van alle getallen wordt het getal zelf opgenomen.

De factor van een getal wordt alleen voor positieve gehele getallen berekend. De faculteit van 0 is altijd 1 en de faculteit van een negatief getal bestaat niet. Het wordt aangeduid met '!' voorafgegaan door het nummer. Voorbeeld n! waar n het nummer is

Zo,

Factorie van 5! betekent faculteit van 5

Factorie van 7! betekent faculteit van 7

De faculteit van nummer 5 is bijvoorbeeld:

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

Evenzo is de faculteit van getal 7:

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

enzovoorts..

Hoe kunnen we de faculteit nu eigenlijk vinden, we kunnen het doen met behulp van

  1. voor lus (zonder recursie)
  2. met recursie

Factorie logica

De logica achter het verkrijgen van de faculteit van het getal is als volgt.

  1. Krijg het nummer waarvan de faculteit moet worden berekend.
  2. Krijg alle nummers vanaf 1 tot dat nummer.
  3. Krijg de vermenigvuldiging van alle getallen.

Onthoud de faculteit van 0! = 1.

Hoe Factorial vinden in PHP?

We zullen verder leren met behulp van verschillende methoden om de faculteit van het gegeven getal te berekenen met behulp van PHP-code. Zoals recursie, recursie met gebruikersinvoer, zonder recursie, zonder recursie met gebruikersinvoer.

Over recursie

Net als andere talen ondersteunt PHP ook recursie. Wat is recursie? Wanneer een functie zichzelf aanroept, wordt dit recursie genoemd. Een recursieve functie noemt zichzelf binnen de functie.

Voorbeeld 1

In het volgende PHP-programma wordt de faculteit van nummer 5 berekend. Dit is een eenvoudig programma dat voor lus gebruikt. Deze for-lus wordt herhaald in de reeks getallen vanaf het getal tot 1 is bereikt.

Code:

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

Uitgang :

Voorbeeld 2

In het onderstaande programma hebben we een eenvoudig HTML-formulier met een invoertekst en een verzendknop gebruikt. Het invoervak ​​wordt gebruikt om gebruikersinvoer te krijgen. De verzendknop wordt gebruikt om de formuliergegevens in te dienen. Gevolgd door dat is de PHP-code om te herhalen voor lus waarin alle logica aanwezig is, die we in het vorige programma hebben geleerd. Dus nu wordt dezelfde logica gebruikt met een invoerformulier.

Als de gebruiker een positief getal invoert via het invoervak ​​in het formulier, wordt de faculteit van dat getal berekend en wordt het resultaat afgedrukt.

Code:


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

Uitgang:

Voorbeeld 3

In de bovenstaande twee programma's hebben we de logica niet in een functie ingepakt. Hier hebben we de hoofdlogica in een functie ingesloten en vervolgens die functie genoemd om de faculteit van het gegeven getal in PHP te berekenen. Hier is de naam van de functie Factorial_Function die de faculteit van nummer 8 vindt.

Code:

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

Uitgang :

Voorbeeld 4

We weten dat recursie een functie binnen een functie aanroept. In het volgende voorbeeld gebruiken we recursie en vinden we de faculteit van het nummer met behulp van PHP-code. De hoofdlogica is verpakt in een functienaam Factorial_Function. Als binnen deze functie de invoer groter is dan één, wordt dezelfde functie opnieuw opgeroepen en als de invoer kleiner is dan of gelijk is aan 1, wordt er één geretourneerd.

Recursie gebruiken

Code:

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

Uitgang :

Voorbeeld 5

We hebben nu geleerd over recursie. In het volgende programma hebben we recursie gebruikt, de recursie wordt toegepast op het nummer dat in dit voorbeeld de invoer van de gebruiker is.

Code:


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

Output:

Conclusie

Dit artikel heeft alle uitleg en voorbeelden behandeld voor het vinden van de faculteit van een nummer met behulp van PHP. Voorbeelden worden uitgelegd met behulp van recursieve en niet-recursieve manieren, samen met recursieve uitleg in context met het programma. Ik hoop dat dit artikel informatief is gevonden om goed te leren en te begrijpen.

Aanbevolen artikelen

Dit is een gids voor Factorial in PHP. Hier bespreken we het basisconcept en hoe we de faculteit van een getal in PHP kunnen vinden met verschillende voorbeelden. U kunt ook het volgende artikel bekijken voor meer informatie -

  1. Overzicht van PHP wiskundige functies
  2. Voorbeelden van PHP String Functions
  3. Hoe database te verbinden met PHP?
  4. Introductie tot PHP
  5. PHP Constanten
  6. Inleiding tot Factorial in Java