Πρόγραμμα C ++ για να ελέγξετε εάν ένας αριθμός μπορεί να είναι Express ως άθροισμα των δύο Prime Numbers

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

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

  • C ++ για βρόχο
  • C ++ εάν, εάν… αλλιώς και Ένθετο εάν… αλλιώς
  • Λειτουργίες C ++
  • Τύποι λειτουργιών που καθορίζονται από το χρήστη στο C ++

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

Εάν ο αριθμός μπορεί να εκφραστεί ως άθροισμα δύο πρώτων αριθμών, η έξοδος δείχνει τον συνδυασμό των πρωταρχικών αριθμών.

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

Παράδειγμα: Ελέγξτε εάν ένας αριθμός μπορεί να εκφραστεί ως άθροισμα δύο πρωταρχικών αριθμών

 #include using namespace std; bool checkPrime(int n); int main() ( int n, i; bool flag = false; cout <> n; for(i = 2; i <= n/2; ++i) ( if (checkPrime(i)) ( if (checkPrime(n - i)) ( cout << n << " = " << i << " + " << n-i << endl; flag = true; ) ) ) if (!flag) cout << n << " can't be expressed as sum of two prime numbers."; return 0; ) // Check prime number bool checkPrime(int n) ( int i; bool isPrime = true; // 0 and 1 are not prime numbers if (n == 0 || n == 1) ( isPrime = false; ) else ( for(i = 2; i <= n/2; ++i) ( if(n % i == 0) ( isPrime = false; break; ) ) ) return isPrime; ) 

Παραγωγή

 Εισαγάγετε έναν θετικό ακέραιο: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17 

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

Στο main(), παίρνουμε έναν αριθμό από τον χρήστη και τον αποθηκεύουμε στη μεταβλητή n.

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

Στη συνέχεια επαναλάβει μια θηλιά από το i = 2να i = n/2. Σε κάθε επανάληψη, ελέγχουμε αν είμαι ένας πρώτος αριθμός ή όχι.

Εάν είμαι πρωταρχικός, ελέγξουμε αν το n - i είναι πρωταρχικό ή όχι.

Εάν το n - i είναι επίσης ένας πρώτος, τότε γνωρίζουμε ότι το n μπορεί να εκφραστεί ως το άθροισμα των δύο πρώτων αριθμών i και n - i.

Έτσι, εκτυπώνουμε το αποτέλεσμα στην οθόνη και αλλάζουμε την τιμή της σημαίας σε true. Διαφορετικά, η σημαία παραμένει false.

Αυτή η διαδικασία συνεχίζεται έως ότου τελειώσει ο βρόχος.

Εάν η σημαία είναι ακόμα false, τότε γνωρίζουμε ότι το n δεν μπορεί να εκφραστεί ως το άθροισμα των δύο πρώτων και εκτυπώνουμε αυτό το μήνυμα στην οθόνη.

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