Introduktion til Factorial i PHP

Før vi begynder at lære om Factorial i PHP, lad os forstå udtrykket factorial. Factorial for et tal er produktet af alle numre, der starter fra 1 op til tallet selv. Når man beregner produktet af alle numrene, er tallet selv inkluderet.

Factorial af et tal beregnes kun for positive heltal. Faktoriet på 0 er altid 1, og faktoriet med et negativt tal findes ikke. Det betegnes med '!' efter nummeret. Eksempel n! hvor n er tallet

Så,

Factorial af 5! betyder factorial af 5

Factorial af 7! betyder factorial af 7

F.eks. Er fabrikken af ​​nummer 5:

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

På lignende måde er fabrikken af ​​nummer 7:

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

og så videre..

Hvordan finder vi nu faktorialen, kan vi gøre det ved hjælp af

  1. til loop (uden rekursion)
  2. med rekursion

Faktorielogik

Logikken bag at få fabrikken af ​​nummeret er som følger:

  1. Få det antal, hvis faktorial skal beregnes.
  2. Få alle numre fra 1 op til dette nummer.
  3. Få multiplikation af alle numre.

Husk fabrikken af ​​0! = 1.

Hvordan finder man faktor i PHP?

Vi lærer videre ved hjælp af forskellige metoder til beregning af faktoritet for det givne antal ved hjælp af PHP-kode. Ligesom at bruge rekursion, rekursion med brugerinput, uden rekursion, uden rekursion med brugerinput.

Om rekursion

Som andre sprog understøtter PHP også rekursion. Hvad er rekursion? Når en funktion kalder sig kaldes rekursion. En rekursiv funktion kalder sig inden for funktionen.

Eksempel 1

I det følgende PHP-program beregnes faktablad for nummer 5. Dette er et simpelt program, der bruger til loop. Dette for loop er itereret på rækkefølgen af ​​numre, der starter fra antallet til 1 er nået.

Kode:

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

Output :

Eksempel 2

I nedenstående program har vi brugt en simpel HTML-formular med en inputtekst og en indsenderknap. Indtastningsfeltet bruges til at få brugerinput. Send-knappen bruges til at indsende formulardata. Efterfulgt af det er PHP-koden til at itereere for loop, hvor al logikken er til stede, som vi lærte i det forrige program. Så nu bruges den samme logik med en inputformular.

Hvis brugeren indtaster et positivt tal gennem indtastningsfeltet i formen, beregnes faktabladet for dette nummer, og resultatet udskrives.

Kode:


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

Output:

Eksempel 3

I de ovenstående to programmer indpakket vi ikke logikken inden for en funktion. Her har vi vedlagt hovedlogikken i en funktion og derefter kaldet den funktion til at beregne faktoriet for det givne nummer i PHP. Her er funktionens navn Factorial_Function, der finder fabrikken af ​​nummer 8.

Kode:

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

Output :

Eksempel 4

Vi ved, at rekursion kalder en funktion inden for en funktion. I det følgende eksempel vil vi bruge rekursion og finde faktoren over nummeret ved hjælp af PHP-kode. Hovedlogikken er indpakket i et funktionsnavn Factorial_Function. Inden for denne funktion, hvis input er større end en, kaldes den samme funktion igen, og hvis input er mindre end eller lig med 1, returneres en.

Brug af rekursion

Kode:

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

Output :

Eksempel 5

Vi har nu lært om rekursion. I det følgende program har vi brugt rekursion, rekursionen anvendes til det nummer, der er input fra brugeren i dette eksempel.

Kode:


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

Produktion:

Konklusion

Denne artikel har dækket alle forklaringer og eksempler til at finde fabrikken til et nummer ved hjælp af PHP. Eksempler forklares på rekursive og ikke-rekursive måder sammen med rekursionsforklaring i sammenhæng med programmet. Håber, at denne artikel blev fundet informativ til at lære og forstå godt.

Anbefalede artikler

Dette er en guide til Factorial i PHP. Her diskuterer vi det grundlæggende koncept og hvordan man finder faktoriet til et nummer i PHP med forskellige eksempler. Du kan også se på den følgende artikel for at lære mere -

  1. Oversigt over PHP-matematikfunktioner
  2. Eksempler på PHP-strengfunktioner
  3. Sådan forbindes database til PHP?
  4. Introduktion til PHP
  5. PHP-konstanter
  6. Introduktion til Factorial i Java

Kategori: