Πρόγραμμα Kotlin για την εύρεση παράγοντα ενός αριθμού

Σε αυτό το πρόγραμμα, θα μάθετε να βρίσκετε το παραγοντικό ενός αριθμού χρησιμοποιώντας για και κατά τη διάρκεια του βρόχου στο Kotlin. Θα μάθετε επίσης να χρησιμοποιείτε εύρη για την επίλυση αυτού του προβλήματος.

Το παραγοντικό ενός θετικού αριθμού n δίνεται από:

 παραγοντικό του n (n!) = 1 * 2 * 3 * 4 *… * n 

Παράδειγμα 1: Βρείτε Factorial ενός αριθμού που χρησιμοποιεί το 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") )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Συντελεστής 10 = 3628800

Σε αυτό το πρόγραμμα, χρησιμοποιήσαμε το loop για να βρούμε όλους τους αριθμούς μεταξύ του 1 και του δεδομένου αριθμού (10) και το προϊόν κάθε αριθμού μέχρι το num αποθηκεύεται σε μια μεταβλητή παραγοντική.

Σε αντίθεση με την Java, στο Kotlin, μπορείτε να χρησιμοποιήσετε εύρη ( 1… num) και στον χειριστή για να μετακινηθείτε μεταξύ αριθμών από 1 έως num.

Επίσης, χρησιμοποιήσαμε πολύ καιρό αντί για int για να αποθηκεύσουμε μεγάλα αποτελέσματα παραγοντικών

Ωστόσο, εξακολουθεί να μην είναι αρκετά μεγάλο για να αποθηκεύσει την αξία των μεγαλύτερων αριθμών (ας πούμε 100). Για αποτελέσματα που δεν μπορούν να αποθηκευτούν σε μια μεγάλη μεταβλητή, χρησιμοποιούμε BigIntegerμεταβλητή που δηλώνεται στη java.mathβιβλιοθήκη.

Εδώ είναι ο αντίστοιχος κώδικας Java: Πρόγραμμα Java για εύρεση παράγοντα ενός αριθμού.

Παράδειγμα 2: Βρείτε Factorial ενός αριθμού χρησιμοποιώντας το 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") )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Παράγοντα του 30 = 205891132094649000000000000000000000000000000

Εδώ, αντί long, χρησιμοποιούμε BigIntegerμεταβλητή παραγοντική.

Δεδομένου ότι *δεν μπορούμε να το χρησιμοποιήσουμε BigInteger, αντ 'αυτού χρησιμοποιούμε multiply()για το προϊόν. Επίσης, ο αριθμός πρέπει να μετατραπεί σε BigIntegerπολλαπλασιασμό.

Παρομοίως, μπορούμε επίσης να χρησιμοποιήσουμε έναν βρόχο για να λύσουμε αυτό το πρόβλημα.

Παράδειγμα 3: Βρείτε Factorial ενός αριθμού χρησιμοποιώντας 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") )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Παράγοντα 5 = 120

Στο παραπάνω πρόγραμμα, σε αντίθεση με το a for loop, πρέπει να αυξήσουμε την τιμή του i μέσα στο σώμα του loop.

Αν και τα δύο προγράμματα είναι τεχνικά σωστά, είναι προτιμότερο να χρησιμοποιηθούν για βρόχο σε αυτήν την περίπτωση. Είναι επειδή ο αριθμός της επανάληψης (μέχρι τον αριθμό) είναι γνωστός.

Επισκεφθείτε αυτήν τη σελίδα για να μάθετε να βρίσκετε παραγοντικά ενός αριθμού χρησιμοποιώντας την αναδρομή.

ενδιαφέροντα άρθρα...