Bir Sayının Asal Olup Olmadığını Kontrol Etmek İçin C ++ Programı

Bir tamsayının (kullanıcı tarafından girilen) bir asal sayı olup olmadığını kontrol etmek için, for döngüsü kullanıp kullanmadığına ve if… else deyimine örnek.

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

  • C ++ if, if… else ve Nested if… else
  • Döngü için C ++
  • C ++ break ve continue İfadesi

Yalnızca 1'e bölünebilen pozitif bir tam sayı ve kendisi asal sayı olarak bilinir.

Örneğin: 13 bir asal sayıdır çünkü yalnızca 1 ve 13'e bölünebilir, ancak 15 asal sayı değildir çünkü 1, 3, 5 ve 15'e bölünebilir.

Not: 0 ve 1 asal sayılar değildir.

Örnek: Asal Sayıyı Kontrol Et

 #include using namespace std; int main() ( int i, n; bool isPrime = true; cout <> n; // 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; ) ) ) if (isPrime) cout << n << " is a prime number"; else cout << n << " is not a prime number"; return 0; ) 

Çıktı

 Pozitif bir tam sayı girin: 29 29 bir asal sayıdır.

Bu program kullanıcıdan pozitif bir tamsayı alır ve bunu n değişkeninde saklar.

Boolean değişkeni isPrime'ın trueprogramın başında başlatıldığına dikkat edin .

Yana 0 ve 1 asal sayılar değildir girdi sayısını bu sayıların bir ya değilse, öncelikle kontrol edin. Giriş numarası 0 veya 1 ise , isPrime değeri olarak ayarlanır false.

Aksi takdirde, isPrime'ın başlangıç ​​değeri değişmeden bırakılır ve forkullanıcı tarafından girilen sayının i ile tamamen bölünebilir olup olmadığını kontrol eden döngü yürütülür.

 for (i = 2; i <= n / 2; ++i) ( if (n % i == 0) ( isPrime = false; break; ) ) 

forDöngü çalışır i == 2için i <= n / 2ve her bir tekranyla 1 ile i değerini arttırır.

Döngü i == n / 2, n için sayının ötesinde herhangi bir faktör bulamadığımız için sona erer n / 2 . Yani, ötesindeki tüm yinelemeler n / 2gereksizdir.

Kullanıcı tarafından girilen sayı i ile tam olarak bölünebiliyorsa, o zaman isPrime olarak ayarlanır falseve sayı asal sayı olmaz.

Ancak, girdi numarası döngünün tamamı boyunca i ile mükemmel bir şekilde bölünemezse, bu, giriş sayısının yalnızca 1'e ve bu sayının kendisine bölünebileceği anlamına gelir.

Yani verilen sayı bir asal sayıdır.

Durumda n == 2, fordöngü çalışmaz ve isPrime değeri kalır true.

Ilginç makaleler...