İPUCU

Script Dilleri Scriptlerin oluşturulduğu dillerin dökümanlarının ortaklaşa paylaşıldığı alandır.

Seçenekler

Bir sayının Asal olup olmadığı nasıl tespit edilir ?

25-07-2016 00:00
#1
Zeref - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
04/2014
Nereden:
el psy congr
Yaş:
21
Mesajlar:
1.962
Teşekkür (Etti):
196
Teşekkür (Aldı):
319
Konular:
80
Ticaret:
(0) %
Asallık Testi

Asal sayıların takip etmesi gereken bilinen bir kalıp yoktur.Bu nedenle verilen bir sayının asal olup olmadığını anlamak kolay bir iş değildir.Eğer n bir asalsayı ise 2 ile √n arasında hiçbir sayıya bölünmemesi gerekir.Eğer n sayısı çok büyükse hesaplmalar kabul edilebilir sınırda olmayabilir.Bir bölme işleminin 1 milisaniye cpu zamanı harcadığı düşünülürse 101 basamaklı(10 üzeri 100) bir sayının asallığının hesaplanması için 1.9*10 üzeri 41 yıl gerekecektir.Genellikle kullanılan Deterministik ve Olasılıksal asal sayı testleri ise çok karmaşık olmakta ve yalnız belirli sınırlamalar için geçerli olmaktadır.

Örnek : 757 sayısının asal olduğunu araştıralım.

√757≈27,51 olduğundan 2 ile 27 arasındaki asal sayı bölenlerinin kontrolü gerçekleştirilecektir.Bu nedenler 757 sayısının 2,3,5,7,9,11,13,17,19,23 sayılarına tam bölünmesi gerekmektedir.Verilen sayı tek olduğundan yegane çift asal sayı olan 2 ye bölünüp bölünmediğine bakmak gerekmeyecektir.

757/3=252,33 757/5=151,4
757/7=108,14 757/11=68,82
757/13=58,23 757/17=44,53
757/19=39,84 757/23=32,91

görüldüğü üzere 757 sayısı bu asallardan hiçbirine bölünmemektedir dolayısla 757 asaldır.



Aşağıda konuda anlatılan örnek Python dilinde kodlara dökülmüştür.

Kod:
import math
print("""Asal Sayı Tespit Edici V1.0""")
print("""Creator:Kerem Saygın""")
while True:
    sayı=input("Bir Tam Sayı Girin:")
    if sayı.isnumeric():
        sayı=int(sayı)
        kareKok=math.sqrt(sayı)
        kareKok=int(kareKok)
        if sayı%2==0:
            print("Girilen Sayıl asal Değildir.")
            continue
        if sayı==1:
            print("Girilen Sayı asal Değildir")
            continue
        sayac=0
        for i in range(2,kareKok+1):
            deger=sayı%i
            if deger==0:
                sayac=sayac+1
        if sayac==0:
            print("Girilen Tam Sayı Asaldır")
        else:
            print("Girilen Tam Sayı Asal Değildir.")

    else:
        print("Lütfen Tam Sayı Değeri Girin")
Kullanıcı İmzası
asdasdasdasrtewter
selo400 Teşekkür etti.

25-07-2016 00:13
#2
rootsuz - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2015
Nereden:
Adana ;)
Mesajlar:
3.497
Teşekkür (Etti):
852
Teşekkür (Aldı):
625
Konular:
247
Ticaret:
(0) %
Alıntı:
Zeref´isimli üyeden Alıntı Mesajı göster
Asallık Testi

Asal sayıların takip etmesi gereken bilinen bir kalıp yoktur.Bu nedenle verilen bir sayının asal olup olmadığını anlamak kolay bir iş değildir.Eğer n bir asalsayı ise 2 ile √n arasında hiçbir sayıya bölünmemesi gerekir.Eğer n sayısı çok büyükse hesaplmalar kabul edilebilir sınırda olmayabilir.Bir bölme işleminin 1 milisaniye cpu zamanı harcadığı düşünülürse 101 basamaklı(10 üzeri 100) bir sayının asallığının hesaplanması için 1.9*10 üzeri 41 yıl gerekecektir.Genellikle kullanılan Deterministik ve Olasılıksal asal sayı testleri ise çok karmaşık olmakta ve yalnız belirli sınırlamalar için geçerli olmaktadır.

Örnek : 757 sayısının asal olduğunu araştıralım.

√757≈27,51 olduğundan 2 ile 27 arasındaki asal sayı bölenlerinin kontrolü gerçekleştirilecektir.Bu nedenler 757 sayısının 2,3,5,7,9,11,13,17,19,23 sayılarına tam bölünmesi gerekmektedir.Verilen sayı tek olduğundan yegane çift asal sayı olan 2 ye bölünüp bölünmediğine bakmak gerekmeyecektir.

757/3=252,33 757/5=151,4
757/7=108,14 757/11=68,82
757/13=58,23 757/17=44,53
757/19=39,84 757/23=32,91

görüldüğü üzere 757 sayısı bu asallardan hiçbirine bölünmemektedir dolayısla 757 asaldır.



Aşağıda konuda anlatılan örnek Python dilinde kodlara dökülmüştür.

Kod:
import math
print("""Asal Sayı Tespit Edici V1.0""")
print("""Creator:Kerem Saygın""")
while True:
    sayı=input("Bir Tam Sayı Girin:")
    if sayı.isnumeric():
        sayı=int(sayı)
        kareKok=math.sqrt(sayı)
        kareKok=int(kareKok)
        if sayı%2==0:
            print("Girilen Sayıl asal Değildir.")
            continue
        if sayı==1:
            print("Girilen Sayı asal Değildir")
            continue
        sayac=0
        for i in range(2,kareKok+1):
            deger=sayı%i
            if deger==0:
                sayac=sayac+1
        if sayac==0:
            print("Girilen Tam Sayı Asaldır")
        else:
            print("Girilen Tam Sayı Asal Değildir.")

    else:
        print("Lütfen Tam Sayı Değeri Girin")
Cidden emeğine sağlık...
Kullanıcı İmzası
Emekli *-*
User arkadaşlarım super ler yaa
Tanıyanlar tanır (;
Captain on the bridge ~The Last Ship
25-07-2016 12:33
#3
Zeref - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
04/2014
Nereden:
el psy congr
Yaş:
21
Mesajlar:
1.962
Teşekkür (Etti):
196
Teşekkür (Aldı):
319
Konular:
80
Ticaret:
(0) %
Sagolun
Kullanıcı İmzası
asdasdasdasrtewter
25-07-2016 12:35
#4
ciha012 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
06/2016
Nereden:
tht
Mesajlar:
386
Teşekkür (Etti):
11
Teşekkür (Aldı):
32
Konular:
24
Ticaret:
(0) %
eline saglık halk arasında kendisinden baska hiçbir sayıya bolunmeyen desek daha kısa olur heralde
Kullanıcı İmzası
ŞAHİKALAR USTUNDE MEYDAN OKUR BU ERLER
YAKLASACAK DUSMANA MEZAR OLUR BU YERLER
25-07-2016 12:35
#5
kaan321 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
10/2015
Nereden:
İstanbul
Mesajlar:
286
Teşekkür (Etti):
12
Teşekkür (Aldı):
21
Konular:
51
Ticaret:
(0) %
ellerine sağlık
Kullanıcı İmzası
Nefret Etme Çok Seversin,Çok Sevme Nefret Edersin.
-HZ.MUHAMMED S.A.V
25-07-2016 23:28
#6
HackerXyx - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
01/2016
Mesajlar:
22
Teşekkür (Etti):
1
Teşekkür (Aldı):
2
Konular:
0
Ticaret:
(0) %
Eline Sağlık, Algoritmayı İyi Kurmuşsun.
28-08-2016 00:38
#7
Fei - ait Kullanıcı Resmi (Avatar)
Fei
Üye
Üyelik tarihi:
09/2006
Nereden:
Anonymous
Mesajlar:
528
Teşekkür (Etti):
1
Teşekkür (Aldı):
97
Konular:
27
Ticaret:
(0) %
tesekkurler
Kullanıcı İmzası
İnanç, görünmeyene inanmaktır, görünmeyene inanırsanız başkalarının görmediklerini görürsünüz.

28-08-2016 00:39
#8
LoboFgg - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
06/2016
Nereden:
Gotham
Mesajlar:
322
Teşekkür (Etti):
1
Teşekkür (Aldı):
40
Konular:
43
Ticaret:
(0) %
ekmek kafalı ..
Kullanıcı İmzası
Bir çocuk masumdu , bir çocuk katil.
Bir çocuk kimsesiz , bir çocuk kirli.
Bir çocuk mahkumdu , her kapı kitli.
BİR ÇOCUK ÖLDÜRDÜK YAŞLANIR ŞİMDİ.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı