Въведение в Factorial в PHP

Преди да започнем да изучаваме Factorial в PHP, нека разберем термина факториал. Фактор на числото е произведение на всички числа, започващи от 1 до самото число. Докато се изчислява произведението на всички числа, самото число е включено.

Фактор на число се изчислява само за положителни цели числа. Факториалът на 0 винаги е 1, а факторът на отрицателно число не съществува. Обозначава се с „!“ предшествано от номера. Пример n! където n е числото

Така,

Фактор на 5! означава фактория от 5

Фактор на 7! означава фактория от 7

Например, факторът на номер 5 е:

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

По същия начин фабриката на числото 7 е:

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

и така нататък..

Сега как всъщност намираме фабриката, можем да го направим с помощта

  1. за контур (без рекурсия)
  2. с рекурсия

Факторна логика

Логиката за получаване на фактория на числото е както следва.

  1. Вземете числото, чийто фактор се изчислява.
  2. Вземете всички числа, започващи от 1 до това число.
  3. Вземете умножението на всички числа.

Помнете фабриката на 0! = 1.

Как да намерите Factorial в PHP?

Ще научим по-нататък, използвайки различни методи, за да изчислим факториал на даденото число, използвайки PHP код. Подобно на използване на рекурсия, рекурсия с потребителски вход, без рекурсия, без рекурсия с въвеждане от потребителя.

За рекурсия

Подобно на други езици, PHP също поддържа рекурсия. Какво е рекурсия? Когато една функция извиква себе си се обозначава като рекурсия. Рекурсивна функция се обажда в рамките на функцията.

Пример №1

В следващата програма за PHP се изчислява фактория на номер 5. Това е проста програма, използваща за цикъл. Това за цикъл се повтаря на последователността от числа, започващи от числото до достигане на 1.

Код:

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

Резултат :

Пример №2

В програмата по-долу сме използвали проста HTML форма с въведен текст и бутон за изпращане. Полето за въвеждане се използва за получаване на потребителско въвеждане. Бутонът за изпращане се използва за изпращане на данните от формуляра. След това е 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;
)
?>
<_?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;
)
?>

Резултат:

Пример №3

В горните две програми не сме обгърнали логиката във функция. Тук сме заложили основната логика във функция и след това я нарекохме, за да изчислим коефициента на даденото число в PHP. Тук името на функцията е Factorial_Function, която намира фактора на число 8.

Код:

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

Резултат :

Пример №4

Знаем, че рекурсията е извикване на функция в рамките на функция. В следващия пример ще използваме рекурсия и ще намерим фактор на числото, използвайки PHP код. Основната логика е обвита във име на функция Factorial_Function. В рамките на тази функция, ако входът е по-голям от този, тогава същата функция се извиква отново и ако входът е по-малък или равен на 1, тогава се връща една.

Използване на рекурсия

Код:

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

Резултат :

Пример №5

Сега научихме за рекурсия. В следната програма сме използвали рекурсия, рекурсията се прилага към числото, което е входът от потребителя в този пример.

Код:


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

изход:

заключение

Тази статия обхваща всички обяснения и примери за намиране на фактор на число с помощта на PHP. Примерите са обяснени по рекурсивни и нерекурсивни начини, заедно с обяснение на рекурсия в контекста на програмата. Надявам се, че тази статия е била информативна, за да се учи и схваща добре.

Препоръчителни статии

Това е ръководство за Factorial в PHP. Тук обсъждаме основната концепция и как да намерим фактор на число в PHP с различни примери. Можете също да разгледате следната статия, за да научите повече -

  1. Преглед на PHP математическите функции
  2. Примери за PHP струнни функции
  3. Как да свържете базата данни с PHP?
  4. Въведение в PHP
  5. PHP константи
  6. Въведение в Factorial в Java