>  기사  >  백엔드 개발  >  PHP의 팩토리얼

PHP의 팩토리얼

王林
王林원래의
2024-08-29 13:12:25853검색

PHP에서 Factorial을 배우기 전에 Factorial이라는 용어를 먼저 이해해 보겠습니다. 숫자의 팩토리얼은 1부터 숫자 자체까지의 모든 숫자의 곱입니다. 모든 숫자의 곱을 계산할 때 숫자 자체가 포함됩니다.

광고 이 카테고리에서 인기 있는 강좌 PHP 개발자 - 전문 분야 | 8개 코스 시리즈 | 3가지 모의고사

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

숫자의 계승은 양의 정수에 대해서만 계산됩니다. 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. for 루프(재귀 없음)
  2. 재귀 사용

요인 논리

숫자의 계승을 구하는 논리는 다음과 같습니다.

  1. 팩토리얼을 계산할 숫자를 가져옵니다.
  2. 1부터 해당 숫자까지의 모든 숫자를 가져옵니다.
  3. 모든 숫자의 곱셈을 구해 보세요.

0의 계승을 기억하세요! = 1.

PHP에서 팩토리얼을 찾는 방법

우리는 PHP 코드를 사용하여 주어진 숫자의 계승을 계산하는 다양한 방법을 사용하여 더 자세히 배울 것입니다. 재귀를 사용하는 것과 마찬가지로 사용자 입력이 있는 재귀, 재귀 없이 사용자 입력이 있는 재귀.

재귀에 대하여

다른 언어와 마찬가지로 PHP도 재귀를 지원합니다. 재귀란 무엇입니까? 함수 자체를 호출하는 것을 재귀라고 합니다. 재귀 함수는 함수 내에서 자신을 호출합니다.

예시 #1

다음 PHP 프로그램에서는 숫자 5의 팩토리얼이 계산됩니다. for 루프를 이용한 간단한 프로그램입니다. 이 for 루프는 숫자부터 시작하여 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 '<br>'. 'The factorial of the number 5 is '. $fact
?>

출력:

PHP의 팩토리얼

예시 #2

아래 프로그램에서는 입력 텍스트와 제출 버튼이 있는 간단한 HTML 양식을 사용했습니다. 입력 상자는 사용자 입력을 얻는 데 사용됩니다. 제출 버튼은 양식 데이터를 제출하는 데 사용됩니다. 그 다음에는 이전 프로그램에서 배운 모든 논리가 있는 for 루프를 반복하는 PHP 코드가 있습니다. 이제 입력 양식에도 동일한 논리가 사용됩니다.

사용자가 양식의 입력창을 통해 양수를 입력하면 해당 숫자의 계승이 계산되어 결과가 인쇄됩니다.

코드:

<html>
<head>
<title> Factorial Program</title>
</head>
<body>
<form method="POST">
<label>Enter a number</label>
<input type="text" name="number" />
<input type="submit" name="submit" value="Submit" />
</form>
<?php
// 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 '<br>'. 'The factorial of the number '.$input.' is ' . $fact;
}
?>
</body>
</html>

출력 :

PHP의 팩토리얼

예시 #3

위 두 프로그램에서는 함수 내에 논리를 래핑하지 않았습니다. 여기에서는 기본 논리를 함수로 묶은 다음 해당 함수를 호출하여 PHP에서 주어진 숫자의 계승을 계산했습니다. 여기서 함수 이름은 숫자 8의 계승을 구하는 Factorial_Function입니다.

코드:

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

출력 :

PHP의 팩토리얼

예시 #4

우리는 재귀가 함수 내에서 함수를 호출한다는 것을 알고 있습니다. 다음 예에서는 재귀를 사용하고 PHP 코드를 사용하여 숫자의 계승을 찾습니다. 기본 논리는 Factorial_Function이라는 함수 이름으로 래핑됩니다. 이 함수 내에서 입력이 1보다 크면 동일한 함수가 다시 호출되고 입력이 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);
?>

출력 :

PHP의 팩토리얼

예시 #5

이제 재귀에 대해 배웠습니다. 다음 프로그램에서는 재귀를 사용했는데, 이 예에서는 사용자가 입력한 숫자에 재귀가 적용됩니다.

코드:

<html>
<head>
<title> Factorial Program</title>
</head>
<body>
<form method="POST">
<label>Enter a number</label>
<input type="text" name="number" />
<input type="submit" name="submit" value="Submit" />
</form>
<?php
// 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 '<br>'. 'The factorial of the number '.$input.' is ' . Factorial_Function($input);
}
?>
</body>
</html>

출력:

PHP의 팩토리얼

결론

이 글에서는 PHP를 사용하여 숫자의 계승을 찾는 방법에 대한 모든 설명과 예제를 다루었습니다. 예제는 프로그램과 관련된 재귀 설명과 함께 재귀 및 비재귀 방법을 사용하여 설명됩니다. 이 기사가 잘 배우고 이해하는 데 유익한 정보가 되었기를 바랍니다.

위 내용은 PHP의 팩토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.