Jump to content

Recommended Posts

  • İleti 101
  • Created
  • Son yanıt

Top Posters In This Topic

Olur mu, bu çok etkisiz olur, eğer sayının son basamağı 0,2,4,5,6,8 rakamlarından biri ise yani:

Sayı mod 10 = 0,2,4,5,6,8 ise

bu sayıları asallık testine sokmaya gerek yok, bu %60 tasarruf sağlar.

daha etkili yolları araştırmak lazım.

2 2257885161 -1

en büyüğüymüş.

"Yüzde 60 daha fazla zaman harcar." demek istedin galiba. :D

İşlem yaparken asal sayılar listesini de güncelleştirdiğimizden, fuzuli bölme ve fuzuli karşılaştırma işlemleri minumuma inmiş durumda. Test ettiğimiz sayıyı sadece ve sadece asal sayılara bölüyoruz (=modulo kullanıyoruz). Senin önerin ve biraz daha fazlası otomatikman gerçekleşiyor.

Sevgiler

Link to post
Sitelerde Paylaş

DreiMalAli, tarattırmak derken kavram kargaşası olmuş :)

2-1.000.000 arasını tarattırmak derken şunu kastettim: 1 istemci 2 ile 1.000.000 arasındaki asalları bulacak. 2 istemci de 1.000.000 ile 2.000.000 arasındaki asalları bulacak :) Sonra sunucuya gönderecekler :)

Yok yok! Kavram kargaşası ile alakalı değil.

Iıııııh!

Biz anlaşamayacağız.

Daha basit nasıl izah edebilirim? Bilmiyorum.

Olmaaaaaaazzzz! :D

Zaman kazancı getirmez.

Planladığın şakilde yaparsan, bir bilgisayar S sayısına kadar asalları hangi sürede listeliyorsa, 10 bilgisayar da aynı sürede ve azıcık daha fazla bir sürede listeler.

En iyisi yaparak öğrenmek, sonuçları görüp anlamak.

Programlamaya başlarsan, küçük sayılarla 1-2 deneme yaparsın ve listedeki sayıları kontrol edersin.

Nerede mantık hatası yapıldığı o zaman anlaşılır. :D

Sevgiler

Link to post
Sitelerde Paylaş

DreiMalAli, sana bir soru. Hatırlıyorsan buraya exe dosyasını koymuştum kareköklü yöntemin. 2'den başlıyordu bulmaya. Şimdi aynı odada olduğumuzu düşün. Ama bendeki exe farklı diyelim. Seninki 2'den başlıyor, benimki 1.000.000 dan başlıyor. Aynı anda çalıştırdık. Seninki birkaç saniye önce bitti, benimki de seninkinden birkaç saniye sonra. İşte 2 kat tasarruf :) Neresine itiraz ediyorsun? Bunu tartışmalıyız. Ayrıca mimari olarak moduloyu değil karekök hesabını kullanacağım.

Link to post
Sitelerde Paylaş

1-1.000.000 arasını 10 saniyeye indirecek code kazansın.

Var mısınız?

Kurallar: Istediğin dil kullanılacak, bir txt dosyasına yazmak şart olacak...

Haa. tabi bilgisayara da bağlı ama.

tarihinde cinali tarafından düzenlendi
Link to post
Sitelerde Paylaş

DreiMalAli, sana bir soru. Hatırlıyorsan buraya exe dosyasını koymuştum kareköklü yöntemin. 2'den başlıyordu bulmaya. Şimdi aynı odada olduğumuzu düşün. Ama bendeki exe farklı diyelim. Seninki 2'den başlıyor, benimki 1.000.000 dan başlıyor. Aynı anda çalıştırdık. Seninki birkaç saniye önce bitti, benimki de seninkinden birkaç saniye sonra. İşte 2 kat tasarruf :) Neresine itiraz ediyorsun? Bunu tartışmalıyız. Ayrıca mimari olarak moduloyu değil karekök hesabını kullanacağım.

Koyulaştırdığım cümleye dikkat!

Benim bilgisayar 2'den başlayabilir. Bunda hiç bir sorun yok.

Ama seninki 1 000 000'dan başlayamaz! Sorun burada.

1 000 000'dan başlayamaz. İster karekök yöntemini kullan, ister başka bir yöntemi. Çaresi yok! Başlayamaz.

Ancak 1 000 000'dan devam eder.

Devam edebilmesi için ama 999 999'a kadar sayıların hangisinin asal olup olmadığını "bilmesi" gerek. Senin bilgisayarın elinde ama böyle bir liste henüz bulunmuyor.

Elinde böyle biste bulunmadığı için,senin bilgisayarının 2 seçeneği var:

A:

Ya 2'den başlarak 999 999 sayısına kadar asal sayıları listeler (Bu iş ama benim bilgisayarın göreviydi :D). Ve ancak ondan sonra 1 000 000'dan devam eder. (Benim bigisayar niye boşu boşuna 999 999'a kadar bir asal sayı listesi yaptı? :D)

B:

Ya da...

Benim bilgisayar 2'den 999 999'a kadar bir asal sayı listesi yapıp, bitidikten sonra, senin bilgisayara aktarır. Ve ancak ondan sonra senin bilgisayar 1 000 000'dan başlayarak asal sayılar listesini genişletmeye devam eder. (Bu süreye kadar ama senin bilgisayar, iş yapmadan beklemede kalır. :D)

Sorun, asal sayları listelerken, en baştan, yani 2'den başlamak zorunda olmamız. Çünkü asal sayıların diğer sayılar içerisindeki dizilimi/sıralanışı tamamen kuralsız.

Sevgiler

Link to post
Sitelerde Paylaş

Dosyaya yazan versiyonu 17. İletide cinali. Esasında hepsi dosyaya yazmıyor mu :) Standart çıkış da bir dosya nihayetinde :)

senin 1.000.000 için 7 saniye sürüyo dediğin exe bende 32 saniye falan sürüyo, doğru mu bu, yoksa benim bu bilgisayarı atma zamanım mı gelmiş?

Link to post
Sitelerde Paylaş

Bence en iyisi 2 n -1 şeklinde olan asal sayıları aramak

1. En büyük sayıdan başlayabiliriz, yani 2 2257885161 -1 sayısından

2. Vaka olur da daha büyüğünü bulursak, wikipedia'ya falan geçeriz, tarih ismimizi yazar, hem de cübbe giyer profesör oluruz. Matematik dergilerine röportaj falan veririz. Nasıl bulduk? Hangi marka bilgisayarımız var, oradan sponsorluklar falan.

Yoksa dediğim gibi , aynı noktadan devam.

Link to post
Sitelerde Paylaş

1-1.000.000 arasını 10 saniyeye indirecek code kazansın.

Var mısınız?

Kurallar: Istediğin dil kullanılacak, bir txt dosyasına yazmak şart olacak...

Haa. tabi bilgisayara da bağlı ama.

Dosyaya yazdırmasını bilsem, He! derdim.

Ama henüz bilmiyorum.

String hazırlayıp TextBoxa yazdırmazsam. Yani sadece hesap: 1,06 saniye

String hazırlayıp TextBoxa yazdırırsam: 22,49 saniye

Sevgiler

Link to post
Sitelerde Paylaş

Dosyaya yazdırmasını bilsem, He! derdim.

Ama henüz bilmiyorum.

String hazırlayıp TextBoxa yazdırmazsam. Yani sadece hesap: 1,06 saniye

String hazırlayıp TextBoxa yazdırırsam: 22,49 saniye

Sevgiler

1 saniye olmaz.

0-1.000.000 arasındaki bütün asalları 1 saniyede mi buluyorsun? Tam anlayamadım ben.

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

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


Kitap

Yazar Ateistforum'un kurucularındandır. Kitabı edinme seçenekleri için: Kitabı edinme seçenekleri

Ateizmi Anlamak
Aydın Türk
Propaganda Yayınları; / Araştırma
ISBN: 978-0-9879366-7-7


×
×
  • Yeni Oluştur...