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

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

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες εφαρμογές προγραμματισμού Java:

  • Java για βρόχο
  • Java ενώ και κάνουμε… ενώ Loop

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

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

Παράδειγμα 1: Βρείτε Factorial ενός αριθμού που χρησιμοποιεί το loop

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

Παραγωγή

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

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

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

Για αποτελέσματα που δεν μπορούν να αποθηκευτούν σε μια μεγάλη μεταβλητή, χρησιμοποιούμε BigIntegerμεταβλητή που δηλώνεται στη java.mathβιβλιοθήκη.

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

Παραγωγή

 Παράγοντα 30 = 265252859812191058636308480000000

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

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

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

Παράδειγμα 3: Βρείτε Factorial ενός αριθμού χρησιμοποιώντας while loop

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

Παραγωγή

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

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

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

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

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