Java-Programm zum Auffinden des Faktors einer Zahl

In diesem Programm lernen Sie, die Fakultät einer Zahl mithilfe der for- und while-Schleife in Java zu ermitteln.

Um dieses Beispiel zu verstehen, sollten Sie die folgenden Java-Programmierthemen kennen:

  • Java für Loop
  • Java während und mache … während Loop

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

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

Ausgabe

 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.

Wir haben long anstelle von int verwendet, um große Ergebnisse von Fakultät 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 .

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

Ausgabe

 Faktor von 30 = 265252859812191058636308480000000

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

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

Ausgabe

 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...