ERATOSTHENES ELEĞİ (ASAL SAYILARI BULMA ALGORİTMASI)

Yayınlandı: Haziran 22, 2010 / Algoritmalar, C/C++
Etiketler:, , , , , , , , ,

Asal sayılar Kendisi ve 1 den başka böleni olmayan sayılara denir.2 3 5 7 11 13 17 vb… Bu Asal sayıları bulan metodlardan veya algoritmalardan en hızlısı Eratotenes eleğidir.Bu algoritmada 2 de itibaren sayının kareköküne kadar olan kısımda herbir sayının kendisi kadar olanı ekleyip o sayıları 0 ladığımız zaman geriye kalan sayılar asal sayılardır.İşte gerçeklenmesi…

#include<iostream>
#include<math.h>
using namespace std;
main()
{
      float b;
      int *p,a,c,d;
      cout<<“Hangi Araliga Kadar Asallari gormek istersiniz:”;
      cin>>a;   b=sqrt(a);d=b;
      p=new int [a];
      for(int i=0;i<=a;i++)
      p[i]=i;p[0]=0;p[1]=0;

      for(int i=2;i<=d;i++)
      {
         c=i*i;    
         for(int j=c;j<=a;j+=i)    
         p[j]=0;    
            
      }
     
      for(int d=0;d<=a;d++)
       {  
           if(p[d]!=0)       
          cout<<p[d]<<”  “;   

          }
system (“pause”);     
}

MEHMET SALİH DEVECİ

BİLGİSAYAR MÜHENDİSİ YAZILIM UZMANI

Reklamlar
yorum
  1. halil ibrahim CEBEL dedi ki:

    eline, beynine sağlık salih beyy…

  2. YAZILIM UZMANI dedi ki:

    Sağolun İbrahim bey umarım faydalanmışınızdır!!!

  3. e-padir dedi ki:

    girilen sayı asal sayı olsa bile öncekileri gösterir ama kendisini göstermez. ilk for da a’yı 1 arttırman lazım :))

  4. Cemil dedi ki:

    Bunu bilgisayara yazmadan kağıtta çözerseniz daha faydalı oluyor.. Teşekkürler Salih Bey…

    • YAZILIM UZMANI dedi ki:

      Zaten önce kağıtta çözmeden bu problemi kodlamak biraz fazla zaman aldırır.Bir çok algoritmik problem gibi bu problemide elle kağıtta çözüp onu kodlamak en doğru ve en hızlısı olur…

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s