C++ Asal Sayı Bulma

C++ programlama dilinde bir sayının asal sayı olup olmadığının kontrolü ve asal sayıları bulma ile ilgili bilgiler yer alıyor.

Asal sayılar

Asal sayılar sadece kendisine ve 1 sayısına tam bölünen sayılardır.

Bir sayının asal sayı mı değil mi kontrolü 2 ila sayının kendisine kadar olan sayılara tam bölünüp bölünmediğinin kontrolü ile yapılır.

Örneğin 7 sayısı için 2 den 6 rakamına kadar tam bölünüp bölünmediği kontrol edilerek sayının asal olup olmadığı bulunabilir.

#include <iostream>

using namespace std;

int main(){

  int sayi = 0, durum = 1;
  cout << "Sayi : ";
  cin >> sayi;

  for (int i = 2; i < sayi; i++){

    if (sayi % i == 0){
      cout << "Asal sayi degildir.";
      durum = 0;
      break;
    }

  }

  if (durum){
    cout << "Asal sayidir.";
  }

  return 0;
}

Sayının kendisine kadar tam bölünme kontrolü yerine sayının yarısına kadar olan sayıların kontrolü de aynı sonucu verecek ve döngü sayısını azaltacağından daha performanslı çalışacaktır.

#include <iostream>

using namespace std;

int main(){

  int sayi = 0, durum = 1;
  cout << "Sayi : ";
  cin >> sayi;

  for (int i = 2; i < sayi / 2; i++){

    if (sayi % i == 0){
      cout << "Asal sayi degildir.";
      durum = 0;
      break;
    }

  }

  if (durum){
    cout << "Asal sayidir.";
  }

  return 0;
}

Asal sayıların kontrolü için bir fonksiyon yazarak asal sayı bulma işlemi kolay bir şekilde yapılabilir.

#include <iostream>

using namespace std;

bool asalSayi(int gSayi){
  int sinir = gSayi / 2, i = 2;
  while (i <= sinir){
    if (gSayi % i == 0){
      return false;
    }
    i++;
  }
  return true;
}

int main(){

  int sayi = 0, durum = 1;
  cout << "Sayi : ";
  cin >> sayi;

  for (int i = 2; i <= sayi; i++){
    if(asalSayi(i)){
        cout << i << " sayisi asaldir." << endl;
    }
  }

  return 0;
}

Yazılan asal sayı kontrol fonksiyonu parametre olarak aldığı değeri while döngüsü ile kontrol ederek sonucu asal sayı/değil olarak geri döndürmektedir.

Asal sayı kontrol fonksiyonuna döngü yardımıyla belirli aralıktaki değerler gönderilerek asal sayı bulma işlemi yapılmış olur.

İşlem sonucunda asal sayılar için farklı asal olmayan sayılar için farklı işlemler yapılabilir.

Programlama örneklerine buradan ulaşabilirsiniz…

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!