Rumah > Artikel > pembangunan bahagian belakang > Faktorial dalam PHP
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-olokMulakan 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
Logik Faktorial
Logik di sebalik mendapatkan pemfaktoran nombor adalah seperti berikut.
Ingat faktorial 0! = 1.
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.
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:
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 :
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 :
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 :
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:
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!