Bir Sayının İki Asal Sayının Toplamı Olarak İfade Edilip Gösterilemediğini Kontrol Etmek İçin C ++ Programı

Bir tamsayının (kullanıcı tarafından girilen), fonksiyonların kullanımıyla olası tüm kombinasyonların iki asal sayısının toplamı olarak ifade edilip edilemeyeceğini kontrol etme örneği.

Bu örneği anlamak için, aşağıdaki C ++ programlama konuları hakkında bilgi sahibi olmalısınız:

  • Döngü için C ++
  • C ++ if, if… else ve Nested if… else
  • C ++ İşlevleri
  • C ++ 'da Kullanıcı Tanımlı İşlev Türleri

Bu program kullanıcıdan pozitif bir tamsayı alır ve bu sayının iki asal sayının toplamı olarak ifade edilip edilemeyeceğini kontrol eder.

Sayı iki asal sayının toplamı olarak ifade edilebiliyorsa, çıktı asal sayıların kombinasyonunu gösterir.

Bu görevi gerçekleştirmek için, asal numarayı kontrol etmek için kullanıcı tanımlı bir işlev oluşturulur.

Örnek: Bir Sayının İki Asal Sayının Toplamı Olarak İfade Edilip İfade Edilemeyeceğini Kontrol Edin

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

Çıktı

 Pozitif bir tam sayı girin: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17 

Bu programda, checkPrime()bir sayının asal olup olmadığını kontrol etmek için işlevi kullanırız.

'Da main()kullanıcıdan bir sayı alıp n değişkeninde saklıyoruz.

Ayrıca bir booldeğişken bayrağı olarak başlatıyoruz false. Bu değişkeni, giriş sayısının iki asal sayının toplamı olarak ifade edilip edilemeyeceğini belirlemek için kullanırız.

Daha sonra gelen bir döngü yineleme i = 2için i = n/2. Her yinelemede i'nin asal sayı olup olmadığını kontrol ederiz.

İ bir asalsa, n - i'nin asal olup olmadığını kontrol ederiz.

Eğer n - i aynı zamanda bir asalsa, n'nin iki asal sayının i ve n - i toplamı olarak ifade edilebileceğini biliyoruz.

Böylece sonucu ekrana yazdırıyoruz ve bayrağın değerini olarak değiştiriyoruz true. Aksi takdirde bayrak kalır false.

Bu süreç döngü bitene kadar devam eder.

Flag hala duruyorsa false, n'nin iki asal sayının toplamı olarak ifade edilemeyeceğini biliyoruz ve bu mesajı ekrana yazdırıyoruz.

Ilginç makaleler...