Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Faktorial dalam PHP

Faktorial dalam PHP

王林
王林asal
2024-08-29 13:12:25967semak imbas

Sebelum kita mula belajar Faktorial dalam PHP, mari kita fahami istilah faktorial. Faktorial nombor ialah hasil darab semua nombor bermula dari 1 hingga nombor itu sendiri. Semasa mengira hasil darab semua nombor, nombor itu sendiri disertakan.

IKLAN Kursus Popular dalam kategori ini PEMBANGUN PHP - Pengkhususan | 8 Siri Kursus | 3 Ujian Olok-olok

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Faktoral nombor dikira untuk integer positif sahaja. Faktorial bagi 0 adalah sentiasa 1 dan faktorial bagi nombor negatif tidak wujud. Ia dilambangkan dengan ‘!’ didahului dengan nombor. Contoh n! di mana n ialah nombor

Jadi,

Faktorial 5! bermakna faktorial bagi 5

Faktorial 7! bermakna faktorial bagi 7

Sebagai contoh, pemfaktoran nombor 5 ialah:

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

Begitu juga, faktorial bagi nombor 7 ialah:

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

dan seterusnya..

Sekarang bagaimana kita sebenarnya mencari faktorial, kita boleh melakukannya menggunakan

  1. untuk gelung (tanpa rekursi)
  2. dengan rekursi

Logik Faktorial

Logik di sebalik mendapatkan pemfaktoran nombor adalah seperti berikut.

  1. Dapatkan nombor yang pemfaktorannya akan dikira.
  2. Dapatkan semua nombor bermula dari 1 hingga nombor itu.
  3. Dapatkan pendaraban semua nombor.

Ingat faktorial 0! = 1.

Bagaimana untuk Mencari Faktorial dalam PHP?

Kami akan mempelajari lebih lanjut menggunakan kaedah yang berbeza untuk mengira pemfaktoran nombor yang diberikan menggunakan kod PHP. Seperti menggunakan rekursi, rekursi dengan input pengguna, tanpa rekursi, tanpa rekursi dengan input pengguna.

Mengenai Rekursi

Seperti bahasa lain PHP juga menyokong Rekursi. Apakah rekursi? Apabila fungsi memanggil dirinya sendiri disebut sebagai rekursi. Fungsi rekursif memanggil dirinya dalam fungsi tersebut.

Contoh #1

Dalam program PHP berikut pemfaktoran nombor 5 dikira. Ini adalah program mudah yang menggunakan gelung. Gelung for ini diulang pada urutan nombor bermula dari nombor sehingga 1 dicapai.

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 '<br>'. 'The factorial of the number 5 is '. $fact
?>

Output:

Faktorial dalam PHP

Contoh #2

Dalam program di bawah, kami telah menggunakan borang HTML ringkas dengan teks input dan butang hantar. Kotak input digunakan untuk mendapatkan input pengguna. Butang hantar digunakan untuk menghantar data borang. Diikuti dengan itu ialah kod PHP untuk lelaran untuk gelung di mana semua logik hadir, yang kami pelajari dalam program sebelumnya. Jadi sekarang logik yang sama digunakan dengan borang input.

Jika pengguna memasukkan nombor positif melalui kotak input dalam borang, pemfaktoran nombor itu dikira dan hasilnya dicetak.

Kod:

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

Output :

Faktorial dalam PHP

Contoh #3

Dalam dua atur cara di atas, kami tidak membungkus logik dalam fungsi. Di sini kita telah menyertakan logik utama dalam fungsi dan kemudian memanggil fungsi itu untuk mengira faktorial nombor yang diberikan dalam PHP. Di sini nama fungsi ialah Factorial_Function yang mencari faktorial nombor 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;
?>

Output :

Faktorial dalam PHP

Contoh #4

Kami tahu bahawa rekursi memanggil fungsi dalam fungsi. Dalam contoh berikut, kami akan menggunakan rekursi dan mencari pemfaktoran nombor menggunakan kod PHP. Logik utama dibalut dengan nama fungsi Factorial_Function. Dalam fungsi ini jika input lebih besar daripada satu, maka fungsi yang sama dipanggil semula dan jika input kurang daripada atau sama dengan 1 maka satu dikembalikan.

Menggunakan Rekursi

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

Output :

Faktorial dalam PHP

Contoh #5

Kami kini telah belajar tentang rekursi. Dalam program berikut, kami telah menggunakan rekursi, rekursi digunakan pada nombor yang merupakan input daripada pengguna dalam contoh ini.

Kod:

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

Output:

Faktorial dalam PHP

Kesimpulan

Artikel ini telah merangkumi semua penjelasan dan contoh untuk mencari pemfaktoran nombor menggunakan PHP. Contoh diterangkan menggunakan cara rekursif dan bukan rekursif, bersama dengan penjelasan rekursif dalam konteks dengan program. Harap artikel ini didapati bermaklumat untuk dipelajari dan difahami dengan baik.

Atas ialah kandungan terperinci Faktorial dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP Siri FibonacciArtikel seterusnya:PHP Siri Fibonacci