Πρόγραμμα Python για την εύρεση του παραγοντικού ενός αριθμού

1
Πρόγραμμα Python για την εύρεση του παραγοντικού ενός αριθμού
  1. Τι είναι το Factorial
  2. Παραγοντική Φόρμουλα
  3. 10 παραγοντικός
  4. παραγοντικό του 5
  5. παραγοντικό του 0
  6. Factorial πρόγραμμα σε Python
    1. Παραγοντικό πρόγραμμα σε Python με χρήση συνάρτησης
    2. Παραγοντικό πρόγραμμα σε Python με χρήση βρόχου for
    3. Παραγοντικό πρόγραμμα σε Python με χρήση αναδρομής
  7. Μετρήστε τα μηδενικά σε παραγοντικό
  8. Συχνές ερωτήσεις

Δήλωση προβλήματος: Σκοπεύουμε να χρησιμοποιήσουμε την Python για να καλύψουμε τα βασικά του παραγοντικού και του υπολογιστικού παραγοντικού ενός αριθμού.

Τι είναι το Factorial;

Με απλά λόγια, Αν θέλετε να βρείτε το παραγοντικό ενός θετικού ακέραιου, συνεχίστε να τον πολλαπλασιάζετε με όλους τους θετικούς ακέραιους αριθμούς μικρότερους από αυτόν τον αριθμό. Το τελικό αποτέλεσμα που παίρνετε είναι το παραγοντικό αυτού του αριθμού. Έτσι, αν θέλετε να βρείτε το παραγοντικό του 7, πολλαπλασιάστε το 7 με όλους τους θετικούς ακέραιους αριθμούς μικρότερους από το 7, και αυτοί οι αριθμοί θα είναι 6,5,4,3,2,1. Πολλαπλασιάστε όλους αυτούς τους αριθμούς με το 7, και το τελικό αποτέλεσμα είναι το παραγοντικό του 7.

Αν θέλετε να αναπτύξετε την τεχνογνωσία σας στο παραγοντικό πρόγραμμα Python, σκεφτείτε να λάβετε πιστοποίηση. Αυτό δωρεάν μάθημα Factorial Program σε Python σας προσφέρει πλήρη καθοδήγηση για το θέμα και επίσης ένα πιστοποιητικό ολοκλήρωσης που σίγουρα θα κάνει το βιογραφικό σας να ξεχωρίζει.

Formula of Factorial

Το παραγοντικό ενός αριθμού συμβολίζεται με n! είναι το γινόμενο όλων των θετικών ακεραίων μικρότερων ή ίσων με n:
n! = n*(n-1)*(n-2)*…..3*2*1

10 Παραγοντικός

Τι είναι λοιπόν το 10!; Πολλαπλασιάστε το 10 με όλους τους θετικούς ακέραιους που είναι μικρότεροι του 10.
10! =10*9*8*7*6*5*4*3*2*1=3628800

Παραγοντικό του 5

Για να βρείτε το „5!“ κάνε πάλι την ίδια διαδικασία. Πολλαπλασιάστε το 5 με όλους τους θετικούς ακέραιους μικρότερους του 5. Αυτοί οι αριθμοί θα ήταν 4,3,2,1
5!=5*4*3*2*1=120

Παραγοντικός 0

Εφόσον το 0 δεν είναι θετικός ακέραιος, σύμφωνα με τη σύμβαση, το παραγοντικό του 0 ορίζεται ως ο εαυτός του.
0!=1

Το παραγοντικό πρόγραμμα σε python
Παραγοντικό ενός αριθμού

Ο υπολογισμός αυτού είναι ένα ενδιαφέρον πρόβλημα. Ας σκεφτούμε γιατί ο απλός πολλαπλασιασμός θα ήταν προβληματικός για έναν υπολογιστή. Η απάντηση σε αυτό βρίσκεται στον τρόπο υλοποίησης της λύσης.

1! = 1
2! = 2
5! = 120
10! = 3628800
20! = 2432902008176640000
30! = 9,332621544394418e+157

Η εκθετική αύξηση των τιμών μας δείχνει ότι η παραγοντική είναι μια εκθετική συνάρτηση και ο χρόνος που απαιτείται για τον υπολογισμό της θα χρειαζόταν εκθετικός χρόνος.

Factorial πρόγραμμα σε Python

Θα περάσουμε από 3 τρόπους με τους οποίους μπορούμε να υπολογίσουμε το παραγοντικό:

  • Χρήση συνάρτησης από την ενότητα μαθηματικών
  • Επαναληπτική προσέγγιση (Χρήση βρόχου για)
  • Αναδρομική προσέγγιση

Παραγοντικό πρόγραμμα σε Python χρησιμοποιώντας τη συνάρτηση

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

import math
num=int(input("Enter the number: "))
print("factorial of ",num," (function): ",end="")
print(math.factorial(num))

ΔΟΚΙΜΑΣΤΕ ΤΟΝ ΚΩΔΙΚΟ

Εισαγωγή – Εισαγάγετε τον αριθμό: 4
Έξοδος – Συντελεστής του 4 (συνάρτηση):24

Παραγοντικό πρόγραμμα σε python χρησιμοποιώντας βρόχο for

def iter_factorial(n):
    factorial=1
    n = input("Enter a number: ")
    factorial = 1
    if int(n) >= 1:
        for i in range (1,int(n)+1):
            factorial = factorial * i
        return factorial
  
num=int(input("Enter the number: "))

print("factorial of ",num," (iterative): ",end="")
print(iter_factorial(num))

ΔΟΚΙΜΑΣΤΕ ΤΟΝ ΚΩΔΙΚΟ

Εισαγωγή – Εισαγάγετε τον αριθμό: 5
Έξοδος – Συντελεστής του 5 (επαναληπτικό) : 120

Σκεφτείτε το επαναληπτικό πρόγραμμα. Χρειάζεται πολύς χρόνος για να εκτελεστεί ο βρόχος while. Το παραπάνω πρόγραμμα παίρνει πολύ χρόνο, ας πούμε άπειρο. Ο ίδιος ο σκοπός του υπολογισμού του παραγοντικού είναι να ληφθεί το αποτέλεσμα εγκαίρως. Ως εκ τούτου, αυτή η προσέγγιση δεν λειτουργεί για τεράστια αριθμοί.

Παραγοντικό πρόγραμμα σε Python με χρήση αναδρομής

def recur_factorial(n):
    """Function to return the factorial
    of a number using recursion"""
    if n == 1:
        return n
    else:
        return n*recur_factorial(n-1)

num=int(input("Enter the number: "))

print("factorial of ",num," (recursive): ",end="")
print(recur_factorial(num))

ΔΟΚΙΜΑΣΤΕ ΤΟΝ ΚΩΔΙΚΟ

Είσοδος – Εισαγωγή – Πληκτρολογήστε τον αριθμό: 4
Έξοδος – Συντελεστής του 5 (αναδρομική) : 24

Σε έναν υπολογιστή RAM 16 GB, το παραπάνω πρόγραμμα μπορούσε να υπολογίσει παραγοντικές τιμές έως και 2956. Από εκεί και πέρα, υπερβαίνει τη μνήμη και έτσι αποτυγχάνει. Ο χρόνος που απαιτείται είναι μικρότερος σε σύγκριση με την επαναληπτική προσέγγιση. Αλλά αυτό έρχεται σε βάρος του χώρου που καταλαμβάνεται.

Ποια είναι η λύση στο παραπάνω πρόβλημα;
Το πρόβλημα του παραγοντικού υπολογισμού έχει μια εξαιρετικά επαναλαμβανόμενη δομή.

Για να υπολογίσουμε το παραγοντικό (4), υπολογίζουμε την f(3) μία φορά, την f(2) δύο φορές και την f(1) τρεις φορές. όσο αυξάνεται ο αριθμός, αυξάνονται και οι επαναλήψεις. Ως εκ τούτου, η λύση θα ήταν να υπολογίσετε την τιμή μία φορά και να την αποθηκεύσετε σε έναν πίνακα από όπου θα είναι δυνατή η πρόσβαση σε αυτήν την επόμενη φορά που απαιτείται. Επομένως, χρησιμοποιούμε δυναμικό προγραμματισμό σε τέτοιες περιπτώσεις. Οι προϋποθέσεις για την εφαρμογή δυναμικού προγραμματισμού είναι

  1. Επικαλυπτόμενα υποπροβλήματα
  2. βέλτιστη υποδομή

Εξετάστε την τροποποίηση στον παραπάνω κώδικα ως εξής:

def DPfact(N):
    arr={}
    if N in arr:
        return arr[N]
    elif N == 0 or N == 1:
        return 1
        arr[N] = 1
    else:
        factorial = N*DPfact(N - 1)
        arr[N] = factorial
    return factorial
    
num=int(input("Enter the number: "))

print("factorial of ",num," (dynamic): ",end="")
print(DPfact(num))

ΔΟΚΙΜΑΣΤΕ ΤΟΝ ΚΩΔΙΚΟ

Εισαγωγή – Εισαγάγετε τον αριθμό: 6
Έξοδος – παραγοντική του 6 (δυναμική) : 720

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

Μετρήστε τα μηδενικά στο Factorial χρησιμοποιώντας Python

Δήλωση προβλήματος: Μετρήστε τον αριθμό των μηδενικών στο παραγοντικό ενός αριθμού χρησιμοποιώντας Python

num=int(input("Enter the number: "))
  
# Initialize result 
count = 0
# Keep dividing n by 
# powers of 5 and 
# update Count 
temp = 5
while (num / temp>= 1):
    count += int(num / temp) 
    temp *= 5

# Driver program  
print("Number of trailing zeros", count)

Παραγωγή
Εισαγάγετε τον αριθμό: 5
Αριθμός μηδενικών μετάδοσης 1

Μάθετε πώς μπορείτε να βρείτε εάν μια συμβολοσειρά είναι Palindrome.

Μάθετε πώς να εκτυπώνετε τη σειρά Fibonacci σε Python. Επίσης, μάθετε τεχνητή νοημοσύνη στο διαδίκτυο με τη βοήθεια αυτού του μαθήματος AI.

Συχνές ερωτήσεις

Τι είναι το παραγοντικό στα μαθηματικά;

Παραγοντικό ενός αριθμού, στα μαθηματικά, είναι το γινόμενο όλων των θετικών ακεραίων μικρότερων ή ίσων με έναν δεδομένο θετικό αριθμό και συμβολίζεται με αυτόν τον αριθμό και με ένα θαυμαστικό. Ετσι, παραγοντικό επτά γράφεται 4! σημαίνει 1 × 2 × 3 × 4, ίσο με 24. Το παραγοντικό μηδέν ορίζεται ως ίσο με 1. Το παραγοντικό των Πραγματικών και Αρνητικών αριθμών δεν υπάρχει.

Ποιος είναι ο τύπος του παραγοντικού;

Για να υπολογίσετε το παραγοντικό ενός αριθμού N, χρησιμοποιήστε αυτόν τον τύπο:

Παραγοντικός=1 x 2 x 3 x…x N-1 x N

Υπάρχει παραγοντική συνάρτηση στην Python;

Ναι, μπορούμε να εισαγάγουμε μια ενότητα στην Python γνωστή ως μαθηματικά που περιέχει σχεδόν όλες τις μαθηματικές συναρτήσεις. Για τον υπολογισμό του παραγοντικού με μια συνάρτηση, εδώ είναι ο κωδικός:

import math
num=int(input("Enter the number: "))
print("factorial of ",num," (function): ",end="")
print(math.factorial(num))

Βρήκατε αυτό το blog ενδιαφέρον; Μάθετε Τεχνητή Νοημοσύνη στο Διαδίκτυο με τη βοήθεια του μαθήματος PGP Artificial Intelligence and Machine Learning της Great Learning και αναβαθμίστε σήμερα! Όσο είστε σε αυτό, ρίξτε μια ματιά στο μάθημα python για αρχάριους για να μάθουν περισσότερα για τη βασική Python.

Schreibe einen Kommentar