Program w C ++ do wyświetlania liczb pierwszych między dwoma interwałami przy użyciu funkcji

Przykład wydrukowania wszystkich liczb pierwszych między dwiema liczbami (wprowadzonymi przez użytkownika) za pomocą funkcji zdefiniowanej przez użytkownika.

Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w języku C ++:

  • C ++ dla pętli
  • Instrukcja break and continue w języku C ++
  • Funkcje C ++
  • Typy funkcji zdefiniowanych przez użytkownika w C ++

Przykład: liczby pierwsze między dwoma przedziałami

 #include using namespace std; int checkPrimeNumber(int); int main() ( int n1, n2; bool flag; cout <> n1>> n2; // swapping n1 and n2 if n1 is greater than n2 if (n1> n2) ( n2 = n1 + n2; n1 = n2 - n1; n2 = n2 - n1; ) cout << "Prime numbers between " << n1 << " and " << n2 << " are: "; for(int i = n1+1; i < n2; ++i) ( // If i is a prime number, flag will be equal to 1 flag = checkPrimeNumber(i); if(flag) cout << i << " "; ) return 0; ) // user-defined function to check prime number int checkPrimeNumber(int n) ( bool isPrime = true; // 0 and 1 are not prime numbers if (n == 0 || n == 1) ( isPrime = false; ) else ( for(int j = 2; j <= n/2; ++j) ( if (n%j == 0) ( isPrime = false; break; ) ) ) return isPrime; ) 

Wynik

 Wpisz dwie dodatnie liczby całkowite: 12 55 Liczby pierwsze od 12 do 55 to: 13 17 19 23 29 31 37 41 43 47 53 

Aby wydrukować wszystkie liczby pierwsze między dwiema liczbami całkowitymi, checkPrimeNumber()tworzona jest funkcja. Ta funkcja sprawdza, czy liczba jest liczbą pierwszą, czy nie.

Wszystkie liczby całkowite między n1 i n2 są przekazywane do tej funkcji.

Jeśli przekazana liczba checkPrimeNumber()jest liczbą pierwszą, funkcja zwraca prawdę, jeśli nie, funkcja zwraca fałsz.

Jeśli użytkownik wpisze najpierw większą liczbę, ten program zamieni cyfry. Bez zamiany ten program nie będzie działał.

Interesujące artykuły...