C ++ programa rodyti pirminius skaičius tarp dviejų intervalų naudojant funkcijas

Pavyzdys, kaip atspausdinti visus pirminius skaičius tarp dviejų skaičių (kuriuos įvedė vartotojas), atlikdami vartotojo apibrėžtą funkciją.

Norėdami suprasti šį pavyzdį, turėtumėte žinoti šias C ++ programavimo temas:

  • „C ++“ - „Loop“
  • C ++ pertrauka ir tęsti pareiškimą
  • C ++ funkcijos
  • Vartotojo nustatytų funkcijų tipai C ++

Pavyzdys: pirminiai skaičiai tarp dviejų intervalų

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

Rezultatas

 Įveskite du teigiamus skaičius: 12 55 pirminiai skaičiai nuo 12 iki 55 yra: 13 17 19 23 29 31 37 41 43 47 53 

Jei norite atspausdinti visus pirminius skaičius tarp dviejų skaičių, checkPrimeNumber()sukuriama funkcija. Ši funkcija patikrina, ar skaičius yra pagrindinis, ar ne.

Šiai funkcijai perduodami visi skaičiai nuo n1 iki n2.

Jei perduodamas skaičius checkPrimeNumber()yra pirminis skaičius, ši funkcija grąžinama kaip teisinga, jei ne funkcija - klaidinga.

Jei vartotojas pirmiausia suveda didesnį skaičių, ši programa pakeis skaičius. Be keitimo ši programa neveiks.

Įdomios straipsniai...