Dalam program ini, anda akan belajar mencari faktorial nombor menggunakan gelung untuk dan semasa di Kotlin. Anda juga akan belajar menggunakan julat untuk menyelesaikan masalah ini.
Faktor faktor nombor positif diberikan oleh:
faktorial n (n!) = 1 * 2 * 3 * 4 *… * n
Contoh 1: Cari faktorial nombor menggunakan gelung
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") )
Semasa anda menjalankan program, outputnya adalah:
Faktor faktor 10 = 3628800
Dalam program ini, kami telah menggunakan loop untuk melengkapkan semua nombor antara 1 dan bilangan yang diberikan (10), dan produk setiap nombor hingga num disimpan dalam faktorial pemboleh ubah.
Tidak seperti Java, di Kotlin, anda boleh menggunakan rentang ( 1… num
) dan operator untuk mencari nombor antara 1 hingga angka.
Selain itu, kami telah menggunakan lama dan bukan untuk menyimpan banyak hasil faktorial.
Walau bagaimanapun, ia masih belum cukup besar untuk menyimpan nilai bilangan yang lebih besar (katakan 100). Untuk hasil yang tidak dapat disimpan dalam pemboleh ubah panjang, kami menggunakan BigInteger
pemboleh ubah yang dinyatakan di java.math
perpustakaan.
Inilah kod Java yang setara: Program Java untuk Mencari Factorial Nombor.
Contoh 2: Cari Factorial nombor 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") )
Semasa anda menjalankan program, outputnya adalah:
Faktorial 30 = 205891132094649000000000000000000000000000000
Di sini, bukannya long
, kami menggunakan BigInteger
faktorial pemboleh ubah.
Oleh kerana, *
tidak dapat digunakan dengan BigInteger
, kami sebaliknya menggunakan multiply()
produk tersebut. Num juga mesti digunakan BigInteger
untuk pendaraban.
Begitu juga, kita juga boleh menggunakan loop sementara untuk menyelesaikan masalah ini.
Contoh 3: Cari Factorial nombor menggunakan loop sementara
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") )
Semasa anda menjalankan program, outputnya adalah:
Faktor faktor 5 = 120
Dalam program di atas, tidak seperti loop untuk, kita harus meningkatkan nilai i di dalam badan gelung.
Walaupun kedua-dua program ini secara teknikal betul, lebih baik digunakan untuk gelung dalam kes ini. Ini kerana bilangan lelaran (hingga bilangan) diketahui.
Lawati halaman ini untuk belajar mencari faktor nombor menggunakan rekursi.