C ++ programma, lai pārbaudītu, vai skaitli var izteikt kā divu galveno skaitļu summu

Piemērs, lai pārbaudītu, vai veselu skaitli (ko ievadījis lietotājs) var izteikt kā visu iespējamo kombināciju divu galveno skaitļu summu, izmantojot funkcijas.

Lai saprastu šo piemēru, jums jāzina par šādām C ++ programmēšanas tēmām:

  • C ++ lokam
  • C ++, ja, ja … cits, un Nested, ja … cits
  • C ++ funkcijas
  • Lietotāja definēto funkciju veidi C ++

Šī programma ņem no lietotāja pozitīvu veselu skaitli un pārbauda, ​​vai šo skaitli var izteikt kā divu galveno skaitļu summu.

Ja skaitli var izteikt kā divu galveno skaitļu summu, izvadā tiek parādīta galveno skaitļu kombinācija.

Lai veiktu šo uzdevumu, tiek izveidota lietotāja definēta funkcija, lai pārbaudītu primāro skaitli.

Piemērs: pārbaudiet, vai skaitli var izteikt kā divu galveno skaitļu summu

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

Rezultāts

 Ievadiet pozitīvu veselu skaitli: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17 

Šajā programmā mēs izmantojam checkPrime()funkciju, lai pārbaudītu, vai skaitlis ir galvenais vai nav.

In main(), mēs ņemam no lietotāja numuru un saglabājam to mainīgajā n.

Mēs arī inicializējam boolmainīgo karogu false. Mēs izmantojam šo mainīgo, lai noteiktu, vai ievadīto skaitli var izteikt kā divu galveno skaitļu summu.

Pēc tam mēs atkārtojam cilpu no i = 2līdz i = n/2. Katrā atkārtojumā mēs pārbaudām, vai i ir galvenais skaitlis.

Ja i ir galvenais, mēs pārbaudām, vai n - i ir galvenais vai nav.

Ja n - i ir arī pamats, tad mēs zinām, ka n var izteikt kā divu galveno skaitļu i un n - i summu.

Tātad, mēs izdrukājam rezultātu uz ekrāna un mainām karodziņa vērtību uz true. Pretējā gadījumā karogs paliek false.

Šis process turpinās, līdz cilpa beidzas.

Ja karogs joprojām ir false, tad mēs zinām, ka n nevar izteikt kā divu sākotnējo vērtību summu, un mēs šo ziņojumu drukājam uz ekrāna.

Interesanti raksti...