1. Implementasi rekursif biasa. Berdasarkan rumus umum rekursif fakta(n) = n * fakta(n-1), mudah untuk menulis kode perhitungan faktorial.
Keuntungan implementasi rekursif biasa adalah kodenya relatif ringkas, dan proses yang sama seperti rumus umum membuat kode mudah dipahami. Kerugiannya adalah karena perlu sering memanggil dirinya sendiri, diperlukan operasi push dan pop dalam jumlah besar, dan efisiensi komputasi secara keseluruhan tidak tinggi.
fakta fungsi(int $n): int { jika ($n == 0) { kembali 1; } kembalikan $n * fakta($n - 1); }
2. Implementasi loop biasa memiliki semacam pemrograman dinamis, tetapi karena rendahnya frekuensi penggunaan variabel keadaan perantara, tidak diperlukan ruang penyimpanan tambahan.
Jadi lebih sederhana dari algoritma pemrograman dinamis pada umumnya. Metode rekursif biasa merupakan proses perhitungan top-down (dari n ke 1), sedangkan loop biasa merupakan perhitungan bottom-up.
fakta fungsi(int $n): int { $hasil = 1; $angka = 1; sementara ($angka <= $n) { $hasil = $hasil * $angka; $angka = $angka + 1; } kembalikan $hasil; }
Di atas adalah cara implementasi n faktorial di php, semoga bermanfaat bagi semuanya.