Program Java untuk Menemukan Faktorial Bilangan

Dalam program ini, Anda akan belajar mencari faktorial sebuah bilangan menggunakan for dan while loop di Java.

Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman Java berikut:

  • Java untuk Loop
  • Java sementara dan melakukan… saat Loop

Faktorial dari bilangan positif n diberikan oleh:

 faktorial dari n (n!) = 1 * 2 * 3 * 4 *… * n 

Contoh 1: Menemukan Faktorial sebuah bilangan menggunakan for loop

 public class Factorial ( public static void main(String() args) ( int num = 10; long factorial = 1; for(int i = 1; i <= num; ++i) ( // factorial = factorial * i; factorial *= i; ) System.out.printf("Factorial of %d = %d", num, factorial); ) )

Keluaran

 Faktorial 10 = 3628800

Dalam program ini, kami telah menggunakan for loop to loop melalui semua angka antara 1 dan angka yang diberikan num (10), dan produk dari setiap angka sampai jumlah disimpan dalam variabel faktorial.

Kami telah menggunakan long bukannya int untuk menyimpan hasil besar faktorial. Namun, itu masih belum cukup besar untuk menyimpan nilai angka yang lebih besar (katakanlah 100).

Untuk hasil yang tidak dapat disimpan dalam variabel panjang, kami menggunakan BigIntegervariabel yang dideklarasikan di java.mathperpustakaan.

Contoh 2: Menemukan Faktorial sebuah bilangan menggunakan BigInteger

 import java.math.BigInteger; public class Factorial ( public static void main(String() args) ( int num = 30; BigInteger factorial = BigInteger.ONE; for(int i = 1; i <= num; ++i) ( // factorial = factorial * i; factorial = factorial.multiply(BigInteger.valueOf(i)); ) System.out.printf("Factorial of %d = %d", num, factorial); ) )

Keluaran

 Faktorial 30 = 265252859812191058636308480000000

Di sini, alih-alih long, kami menggunakan BigIntegerfaktorial variabel.

Karena, *tidak dapat digunakan dengan BigInteger, kami malah menggunakan multiply()untuk produk. Juga, num harus dicor BigIntegeruntuk perkalian.

Demikian juga, kita juga dapat menggunakan loop sementara untuk menyelesaikan masalah ini.

Contoh 3: Menemukan Faktorial sebuah bilangan menggunakan while loop

 public class Factorial ( public static void main(String() args) ( int num = 5, i = 1; long factorial = 1; while(i <= num) ( factorial *= i; i++; ) System.out.printf("Factorial of %d = %d", num, factorial); ) )

Keluaran

 Faktorial 5 = 120

Dalam program di atas, tidak seperti perulangan for, kita harus menaikkan nilai i di dalam badan perulangan.

Meskipun kedua program secara teknis benar, lebih baik menggunakan for loop dalam kasus ini. Itu karena jumlah iterasi (hingga num) diketahui.

Kunjungi halaman ini untuk belajar mencari faktorial sebuah bilangan menggunakan rekursi.

Artikel yang menarik...