Kotlin-Programm zum Auffinden eines Faktors einer Zahl

In diesem Programm lernen Sie, die Fakultät einer Zahl mithilfe der for- und while-Schleife in Kotlin zu ermitteln. Sie werden auch lernen, Bereiche zu verwenden, um dieses Problem zu lösen.

Die Fakultät einer positiven Zahl n ist gegeben durch:

 Fakultät von n (n!) = 1 * 2 * 3 * 4 *… * n 

Beispiel 1: Finden Sie das Faktor einer Zahl mit der for-Schleife

 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") )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Faktor 10 = 3628800

In diesem Programm haben wir for-Schleife verwendet, um alle Zahlen zwischen 1 und der angegebenen Zahl num (10) zu durchlaufen, und das Produkt jeder Zahl, bis num in einer variablen Fakultät gespeichert ist.

Im Gegensatz zu Java können Sie in Kotlin range ( 1… num) und in operator verwenden, um Zahlen zwischen 1 und num zu durchlaufen.

Außerdem haben wir long anstelle von int verwendet, um große faktorielle Ergebnisse zu speichern.

Es ist jedoch immer noch nicht groß genug, um den Wert größerer Zahlen (z. B. 100) zu speichern. Für Ergebnisse, die nicht in einer langen Variablen gespeichert werden können, verwenden wir die BigIntegerin der java.mathBibliothek deklarierte Variable .

Hier ist der entsprechende Java-Code: Java-Programm zum Finden des Faktors einer Zahl.

Beispiel 2: Finden Sie Factorial einer Zahl mit 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") )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Faktor von 30 = 20589113209464900000000000000000000000000000000

Hier verwenden longwir stattdessen eine BigIntegervariable Fakultät.

Da *nicht mit verwendet werden kann, verwenden BigIntegerwir stattdessen multiply()für das Produkt. Außerdem sollte num BigIntegerzur Multiplikation verwendet werden.

Ebenso können wir eine while-Schleife verwenden, um dieses Problem zu lösen.

Beispiel 3: Finden Sie das Faktor einer Zahl mit der while-Schleife

 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") )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Faktor 5 = 120

Im obigen Programm müssen wir im Gegensatz zu einer for-Schleife den Wert von i innerhalb des Körpers der Schleife erhöhen.

Obwohl beide Programme technisch korrekt sind, ist es in diesem Fall besser, die for-Schleife zu verwenden. Dies liegt daran, dass die Anzahl der Iterationen (bis zu num) bekannt ist.

Besuchen Sie diese Seite, um zu erfahren, wie Sie mithilfe der Rekursion die Fakultät einer Zahl finden.

Interessante Beiträge...