Dalam program ini, Anda akan belajar menemukan faktorial sebuah bilangan menggunakan for dan while loop di Kotlin. Anda juga akan belajar menggunakan rentang untuk menyelesaikan masalah ini.
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
fun main(args: Array) ( val num = 10 var factorial: Long = 1 for (i in 1… num) ( // factorial = factorial * i; factorial *= i.toLong() ) println("Factorial of $num = $factorial") )
Saat Anda menjalankan program, hasilnya adalah:
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.
Tidak seperti Java, di Kotlin, Anda bisa menggunakan range ( 1… num
) dan operator in untuk mengulang angka antara 1 sampai num.
Juga, kita telah menggunakan long daripada 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 BigInteger
variabel yang dideklarasikan di java.math
perpustakaan.
Berikut kode Java yang setara: Program Java untuk Menemukan Faktorial Bilangan.
Contoh 2: Menemukan Faktorial sebuah bilangan menggunakan BigInteger
import java.math.BigInteger fun main(args: Array) ( val num = 30 var factorial = BigInteger.ONE for (i in 1… num) ( // factorial = factorial * i; factorial = factorial.multiply(BigInteger.valueOf(num.toLong())) ) println("Factorial of $num = $factorial") )
Saat Anda menjalankan program, hasilnya adalah:
Faktorial 30 = 205891132094649000000000000000000000000000000
Di sini, alih-alih long
, kami menggunakan BigInteger
faktorial variabel.
Karena, *
tidak dapat digunakan dengan BigInteger
, kami malah menggunakan multiply()
untuk produk. Juga, num harus dicor BigInteger
untuk perkalian.
Demikian juga, kita juga dapat menggunakan loop sementara untuk menyelesaikan masalah ini.
Contoh 3: Menemukan Faktorial sebuah bilangan menggunakan while loop
fun main(args: Array) ( val num = 5 var i = 1 var factorial: Long = 1 while (i <= num) ( factorial *= i.toLong() i++ ) println("Factorial of $num = $factorial") )
Saat Anda menjalankan program, hasilnya adalah:
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.