Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  Eratosten kalburu.

Asal sayıları bulmak için kullanılan bir algoritma. Eratosthenes isimli Yunan matematikçi tarafından bulunan bu algoritma asal sayıların tanımından yola çıkarak 1'den n'e kadar olan sayıların içinden asal olanları süzer. Makarna süzmek için kullanılan kalbur gibi. Şöyle çalışır:
1. 2'den n'e kadar olan sayıları yaz.
2. 2'yi asal sayı kabul et ve katlarını çiz. Ya da sil.
3. 2'den büyük çizilmemiş en küçük sayıyı bul. (3'ü bulur, bu da bir asal sayıdır)
4. Onun da (3'ün) katlarını çiz.

Böylece herhangi bir sayının katı olan sayılar çizilecek geriye kendisinden ve 1'den başka hiç bir sayının katı olmayan asal sayılar kalacaktır.
fizikci
31 Temmuz 2006 11:51
2.  psudokod:
n = 1000000; // limit
for(i = 2; i <= n; i++)
{
  is_prime[i] = true // önce bütün sayıların asal olduğunu kabul ediyoruz
}

for(k = 2; k <= sqrt(n); k++)
{
   if(is_prime[k])
   {
      // karesinden başlayarak asal sayıların katlarını ele
      for(i = k^2; i <= n; i += k) { is_prime[i] = false }
   }
}

// bulduğumuz asal sayılar şunlar:
for(k = 2; k =< n; k++)
{
  if is_prime[k] then print k
}

Not: http://en.wikipedia.org/wiki/Prime_number adresinden Türkçeleştirildi.
fizikci
31 Temmuz 2006 12:09
3.  #include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#define n 1000
using namespace std;

main()
{
bool asal_mi[n];
int sayi,k;
    for(sayi=2;sayi<=n;sayi++)
        asal_mi[sayi]=true;
    for(k=2;k<=sqrt(n);k++)
    {
        if(asal_mi[k]){
            for(sayi=pow(k,2); sayi<=n; sayi+=k)
                asal_mi[sayi]=false;
        }
    }
    for(k=2;k<=n;k++)
    {
    if(asal_mi[k])
    cout<<k<<endl;
    }
    system("pause");
    return 0;
}
hacy
09 Şubat 2008 12:46
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.
© 2005, Bilişim Kulübü. (1078 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen