Dengan kata sederhana, jika Anda ingin mencari faktorial bilangan bulat positif, teruslah mengalikannya dengan semua bilangan bulat positif yang lebih kecil dari angka tersebut. Hasil akhir yang Anda dapatkan adalah faktorial dari angka tersebut. Jadi, jika Anda ingin mencari faktorial dari 7, kalikan 7 dengan semua bilangan bulat positif kurang dari 7, maka hasilnya adalah 6,5,4,3,2,1. Kalikan semua angka ini dengan 7, dan hasil akhirnya adalah faktorial dari 7
Jika Anda ingin membangun keahlian Anda dalam program faktorial Python, pertimbangkan untuk mendapatkan sertifikasi. Kursus gratis tentang Program Faktorial dengan Python ini menawarkan panduan lengkap tentang subjek dan juga sertifikat penyelesaian yang pasti akan membuat CV Anda menonjol
Rumus Faktorial
Faktorial suatu bilangan dilambangkan dengan n. adalah produk dari semua bilangan bulat positif kurang dari atau sama dengan n
n. = n*(n-1)*(n-2)*…. 3*2*1
10 Faktorial
Jadi berapa 10. ?
10. =10*9*8*7*6*5*4*3*2*1=3628800
Faktorial dari 5
Untuk menemukan '5. ’ sekali lagi, lakukan proses yang sama. Kalikan 5 dengan semua bilangan bulat positif kurang dari 5. Angka-angka itu akan menjadi 4,3,2,1
5. =5*4*3*2*1=120
Faktorial dari 0
Karena 0 bukan bilangan bulat positif, sesuai konvensi, faktorial dari 0 didefinisikan sebagai dirinya sendiri
0. =1
Menghitung ini adalah masalah yang menarik. Mari kita pikirkan mengapa perkalian sederhana akan menjadi masalah bagi komputer. Jawabannya terletak pada bagaimana solusi diimplementasikan
1. = 1
2. = 2
5. = 120
10. = 3628800
20. = 2432902008176640000
30. = 9. 332621544394418e+157
Kenaikan eksponensial dalam nilai menunjukkan kepada kita bahwa faktorial adalah fungsi eksponensial, dan waktu yang dibutuhkan untuk menghitungnya akan memakan waktu eksponensial
Program Faktorial dengan Python
Kita akan melalui 3 cara di mana kita dapat menghitung faktorial
- Menggunakan fungsi dari modul matematika
- Pendekatan iteratif (Menggunakan for loop)
- Pendekatan rekursif
Program faktorial di Python menggunakan fungsi
Ini adalah metode paling mudah yang dapat digunakan untuk menghitung faktorial suatu bilangan. Di sini kami memiliki modul bernama matematika yang berisi beberapa operasi matematika yang dapat dilakukan dengan mudah menggunakan modul tersebut
import math num=int(input("Enter the number: ")) print("factorial of ",num," (function): ",end="") print(math.factorial(num))UJI KODE
Masukan – Masukkan nomor. 4
Keluaran – Faktorial dari 4 (fungsi). 24
Program faktorial dalam python menggunakan for loop
def iter_factorial(n): factorial=1 n = input("Enter a number: ") factorial = 1 if int(n) >= 1: for i in range (1,int(n)+1): factorial = factorial * i return factorial num=int(input("Enter the number: ")) print("factorial of ",num," (iterative): ",end="") print(iter_factorial(num))_UJI KODE
Masukan – Masukkan nomor. 5
Output – Faktorial dari 5 (iteratif). 120
Pertimbangkan program iteratif. Dibutuhkan banyak waktu untuk while loop untuk dieksekusi. Program di atas memakan banyak waktu, katakanlah tidak terbatas. Tujuan menghitung faktorial adalah untuk mendapatkan hasil tepat waktu;
Program faktorial di Python menggunakan rekursi
def recur_factorial(n): """Function to return the factorial of a number using recursion""" if n == 1: return n else: return n*recur_factorial(n-1) num=int(input("Enter the number: ")) print("factorial of ",num," (recursive): ",end="") print(recur_factorial(num))UJI KODE
Masukan – Masukan – Masukkan nomor. 4
Keluaran – Faktorial dari 5 (rekursif). 24
Pada komputer dengan RAM 16 GB, program di atas dapat menghitung nilai faktorial hingga 2956. Di luar itu, melebihi memori dan dengan demikian gagal. Waktu yang dibutuhkan lebih sedikit jika dibandingkan dengan pendekatan berulang. Tapi ini mengorbankan ruang yang ditempati
Bagaimana solusi dari permasalahan di atas?
Masalah komputasi faktorial memiliki struktur yang sangat berulang
Untuk menghitung faktorial (4), kita menghitung f(3) sekali, f(2) dua kali, dan f(1) tiga kali; . Oleh karena itu, solusinya adalah dengan menghitung nilai satu kali dan menyimpannya dalam sebuah array dari mana ia dapat diakses pada saat diperlukan. Oleh karena itu, kami menggunakan pemrograman dinamis dalam kasus tersebut. Kondisi untuk mengimplementasikan pemrograman dinamis adalah
- Sub-masalah yang tumpang tindih
- substruktur yang optimal
Pertimbangkan modifikasi kode di atas sebagai berikut
def DPfact(N): arr={} if N in arr: return arr[N] elif N == 0 or N == 1: return 1 arr[N] = 1 else: factorial = N*DPfact(N - 1) arr[N] = factorial return factorial num=int(input("Enter the number: ")) print("factorial of ",num," (dynamic): ",end="") print(DPfact(num))UJI KODE
Masukan – Masukkan nomor. 6
Keluaran – faktorial dari 6 (dinamis). 720
Solusi pemrograman dinamis sangat efisien dalam hal kompleksitas waktu dan ruang
Hitung Trailing Zeroes di Faktorial menggunakan Python
Pernyataan masalah. Hitung jumlah nol dalam faktorial angka menggunakan Python
Keluaran
Masukkan Nomor. 5
Jumlah angka nol di belakang 1
Pelajari cara mengetahui apakah suatu string adalah Palindrom
Pelajari cara mencetak Deret Fibonacci dengan Python. Juga, pelajari kecerdasan buatan secara online dengan bantuan Kursus AI ini
Pertanyaan yang sering diajukan
1. Apa itu faktorial dalam matematika?
Faktorial suatu bilangan, dalam matematika, adalah produk dari semua bilangan bulat positif yang kurang dari atau sama dengan bilangan positif tertentu dan dilambangkan dengan bilangan tersebut dan tanda seru. Jadi, faktorial tujuh ditulis 4. artinya 1 × 2 × 3 × 4, sama dengan 24. Faktorial nol didefinisikan sebagai sama dengan 1. Faktorial bilangan Real dan Negatif tidak ada
2. Apa rumus faktorial?
Untuk menghitung faktorial dari angka N, gunakan rumus ini
Faktorial=1 x 2 x 3 x…x N-1 x N
3. Apakah ada fungsi faktorial di Python?
Ya, kita dapat mengimpor modul dengan Python yang dikenal sebagai matematika yang berisi hampir semua fungsi matematika. Untuk menghitung faktorial dengan suatu fungsi, berikut kodenya
impor matematika
num=int(input(“Masukkan bilangan. “))
print(“faktorial dari “,num,” (fungsi). “,akhir=””)
cetak (matematika. faktorial(bil))
Menemukan blog ini menarik? . Sementara Anda melakukannya, periksa kursus python untuk pemula untuk mempelajari lebih lanjut tentang Python dasar