Jump to content

Asal sayıları tespit etmek için bir formül buldum.


Recommended Posts

Arkadaşlar sizlere tespit ettiğim enteresan bir formülden bahsedeyim. Biliyorsunuz asal sayı, birden ve kendinden başka hiç bir sayıya bölünemeyen sayıdır. 

 

(2, 3, 5, 7, 11, 13, 17, 19, 23 ...)

 

Şimdi şu formülü bir inceleyin.

 

2mod N = 2

 

Mod alma işlemini biliyorsunuzdur. Mod işlemi bir sayının bir sayıya bölümündeki kalanı ifade eder. Bu formülde N değerine 3 den başlayarak deneyebildiğimiz kadar sırayla tüm doğal sayıları deneyelim.

 

Örneğin;

 

N = 3 => 23 mod 3 = 8 mod 3 = 2 kalanını elde ettik.

N = 4 => 24 mod 4 = 16 mod 4 = 0 kalanını elde ettik.

N = 5 => 25 mod 5 = 32 mod 5 = 2 kalanını elde ettik.

N = 6 => 26 mod 6 = 64 mod 6 = 4 kalanını elde ettik.

N = 7 => 27 mod 7 = 128 mod 7 = 2 kalanını elde ettik.

N = 8 => 28 mod 8 = 256 mod 8 = 0 kalanını elde ettik.

N = 9 => 29 mod 9 = 512 mod 9 = 8 kalanını elde ettik.

N = 10 => 210 mod 10 = 1024 mod 10 = 4 kalanını elde ettik.

N = 11 => 211 mod 11 = 2048 mod 11 = 2 kalanını elde ettik.

 

Fark ettiniz mi N değeri asal olduğunda hep 2 kalanını veriyor.

 

Bu durumda bu ifadede 2 kalanını veren tüm sayılar asal sayıdır diyebilir miyiz? Ben çok daha büyük sayılara kadar denedim hep asal olduğunda 2 kalanını veriyor.

 

Asal sayılarla ilgili bir formül buluna 1 milyon dolar ödül varmış. Ne diyorsunuz sizce bu ödülü bana verirler mi? :D

 

Link to post
Sitelerde Paylaş
15 dakika önce, Plantman yazdı:

Fermat senden önce bulmuş.Vermezler ödülü.:0_80cbc_37a71a73_L:

 

Biliyorum bunu bilgisayarda bir program üzerinde çalışırken fark etmiştim. Sonra araştırdım fermat bulmuş fakat detayı fazla kimse bilmiyor. Teorem şöyle;

 

an mod n ≡ a

 

dolayısyla a 2 olduğunda asalların neredeyse tamamını verecek şekilde kapsıyor. Teoremde kimse bundan bahsetmiyor. Bununla parçalı bir fonksiyon tasarlanabilir diye düşünüyorum.

 

45 dakika önce, Market Wizard yazdı:

Oyle bir odul olsa ve sen de bu odulu kazanabilecek bir formul bulsan, buraya mi yazardin sence?

 

Neden yazmayayım hatta ben daha önce kendi kendine elektrik üreten bir devre dahi paylaşmıştım fakat herkes olanaksız olduğunu düşündüğü için denemedi bile... Fakat ben hala iddialıyım. Biri yapsa köşeyi dönecek. Benim bunlarla uğraşacak zamanım yok.

tarihinde John Ahmet tarafından düzenlendi
Link to post
Sitelerde Paylaş
23 dakika önce, Plantman yazdı:

Asal sayıları veren fonksiyon çift sayıları veren fonksiyon gibi olmalı.

Fonksiyonda bulunan N değerlerine örneğin 100  girince 100 üncü asal sayıyı vermeli.

 

Bir ara asallarla çok ilgilendim. Aslında bu problemin çözüldüğünü öğrendim. Şimdi bulamadım fakat logaritma ve trigonometri içeren bir fonksiyondu ve senin dediğin gibi asal indeksi verildiğinde asalı döndürebiliyor. Bulursam paylaşırım ama ödülü alıp alamadığını öğrenemedim.

Link to post
Sitelerde Paylaş
15 saat önce, John Ahmet yazdı:

 

Bir ara asallarla çok ilgilendim. Aslında bu problemin çözüldüğünü öğrendim. Şimdi bulamadım fakat logaritma ve trigonometri içeren bir fonksiyondu ve senin dediğin gibi asal indeksi verildiğinde asalı döndürebiliyor. Bulursam paylaşırım ama ödülü alıp alamadığını öğrenemedim.

 

 

Bu arada keşfi sen yaptıysan güzel, ama çok verimsiz.

7'nin asal olduğunu bulmak için 2^7'yi bulmaya gerek yok.

 

 

Link to post
Sitelerde Paylaş
19 saat önce, John Ahmet yazdı:

Bu durumda bu ifadede 2 kalanını veren tüm sayılar asal sayıdır diyebilir miyiz?

 

Diyemeyiz,çünkü;

 

N = 3 => 2^3 mod 3 = 8 mod 3 = 2

 

Burda 2 üzeri 3 yani 2x2x2=8 oluyor. 8 asal değil.

 

Yani uğraşmışsın güzel ama 2 kalanını veren sayılar asal değil, üsleri asal.

 

Sonra 6 üzeri 3 için mesela yine kalan 2 olmuyor.Taban değişince hepten karışıyor.Saçma : d

tarihinde DeepBlue tarafından düzenlendi
Link to post
Sitelerde Paylaş
47 dakika önce, DeepBlue yazdı:

2'için vermiyorki john.

 

N=2

 

2NmodN = 2

 

yerine koyarsak.

 

2²mod2=0

 

Hani kalan iki oluyordu?

 

Mod alma işleminde işlemin bir literale eşit olduğu belirtiliyorsa ve a mod b = b deniyorsa son b'ni de harcayıp sıfırlamıyorsun son b yi elinde bırakıyorsun. Bu modüler aritmetiğin doğasında var. 22 mod 2 ≡ 2 diyorum ve bu doğrudur.

 

48 dakika önce, DeepBlue yazdı:

N = 3 => 2^3 mod 3 = 8 mod 3 = 2

 

Burda 2 üzeri 3 yani 2x2x2=8 oluyor. 8 asal değil.

 

Burada asal olması gereken N'dir yine an mod n ≡ a" bu fermat teoreminde de n'nin tüm asal değerleri için bu ifade a sonucunu üretiyor. Burada kasıt edilen budur. Şöyle bir istisna var elbette n'nin asal olmadığı halde yine bu ifadenin a sonucunu ürettiği durumlar var fakat o kadar az ki ilk binde 3 adet ilk 10 binde 22 adet vs. tüm 2^64 içerisinde kaç adet sayı olduğunu şu linkten öğrenebilirsin. Ayrıca bunlara pseudo prime deniyormuş vs.

http://www.cecm.sfu.ca/Pseudoprimes/

 

3 saat önce, Bir Buçuk yazdı:

Bu arada keşfi sen yaptıysan güzel, ama çok verimsiz.

7'nin asal olduğunu bulmak için 2^7'yi bulmaya gerek yok.

 

Verimsiz değil Xy mod Z yi hesaplamak için modüler aritmetik prensipleriyle çalışan çok hızlı algoritmalar var. Burada Xy tam olarak hesaplanmadan direk Xy mod Z hesaplanabiliyor. Hatta çok büyük sayılarla çalışmak için C#'ta BigInteger sınıfı var ve bu sınıfın BigInteger.ModPow isimli statik metodu tam olarak bu işi görüyor. Verdiğin çok çok büyük sayıları asal olmadığını bu method ile kesin olarak öğrenebilirsin.

 

Örneğin BigInteger.ModPow(2, N, N) != 2 den 2 den farklı ise kesinlikle asal değildir diyebiliyorsun fakat eşit iki ise büyük ihtimalle asaldır ve yukarıda verdiğim listedeki bir pseudo prime değilse kesin olarak asal olduğunu söyleyebiliriz. 

 

Neyse kafanızı ütülemeyeyim bir ara çok uğraşmıştım. Prime tabanlı kripto paralar vardı ve kısa yoldan köşeyi dönme peşindeydim. B) Sonra sıkıldım ve artık ilgilenmiyorum. 

 

Link to post
Sitelerde Paylaş
25 dakika önce, DeepBlue yazdı:

2²≡0(mod2) değil mi? 

 

Yani bu o kadar zor bir matematik değilki : ddd

2² ≡ 0 (mod2) ≡ 2 (mod2) dir.

Zaten 2'ye göre mod alırken sonuç ya 0'dır yada 1. Fakat sonucun tabana eşit olduğu vurgulanıyor ve bu sayı bu mod işleminde sonuç kümesinin dışında kalıyor. mod alırken 2'ye eşit olma durumu için bir istisna var ve zaten hem sıfıra hem de 2 ye denktir diyebiliyoruz. Hala kafan almadıysa bunu bir matematik hocası bulup sor daha düzgün bir anlatımla sana açıklayabilir.

Link to post
Sitelerde Paylaş
12 saat önce, Khan yazdı:

Programlama ve algoritmaya giriş derslerinde muhakkak sorulan veya öğretilen bir yöntemdir.

 

C'de yazabiliyor musun?

 

Khan Academy'de konuyla ilgili modpow fonksiyonunun asal sayılar için önemini açıklayan ve bunu kullanışlı bir algoritma ile pratik hale getiren dersler bulunuyor. Konuyla ilgilenmeye başlayınca bunları araştırdım öğrendim. Konuyla ilgili olanlar şu bilgisayar bilimleri / kriptografiye yolculuk isimli derslere bakabilir.

 

https://tr.khanacademy.org/computing/computer-science/cryptography/comp-number-theory/v/sieve-of-eratosthenes-prime-adventure-part-4

 

4 saat önce, Kenopsia yazdı:

Graflara da çalışırsan ayrık'ı geçersin. : )

 

Asal sayılardan pek çok farklı şekillerde faydalanılıyor. Graf veri modelleme, sıkıştırma algoritmaları, kriptolama ve daha bir çok konuda faydalanılıyor. Temel düzeyde de olsa kullanım alanları konusunda bilgi sahibi olmak pek çok problemi mükemmel şekilde çözmenize olanak sağlıyor. 

 

Örneğin bir forumda web dünyasında SSL olarak bildiğiniz RSA kriptolama yönteminde karşılıklı şifrelenmiş datalara asal sayıları çarpanlarına ayırarak dolayısıyla RSA kriptolarını çözerek tüm bilgiyi elde edebileceğiniz C# kodları paylaşmıştım tüm asal bulma yöntemlerini ve public key'den private key'i elde etme algoritmalarını kendim yazmıştım. Bulursam yine paylaşırım.

Link to post
Sitelerde Paylaş
  • Konuyu Görüntüleyenler   0 kullanıcı

    Sayfayı görüntüleyen kayıtlı kullanıcı bulunmuyor.

×
×
  • Yeni Oluştur...