Jump to content

Bu soruyu çözene 1 milyon TL verecek!


Recommended Posts

15 değil miydin sen yahu? :)

Neyse konuyla alakalı bir şey de yazalım. Gelenek bozulmasın..

Bence asal sayıları bulmak için for next döngüsüyle 1 den o sayının ulaştığı limite kadar sayı üretilir.

Her sayı 2'den başlayarak bölünür. Eğer tam bölünemiyorsa o sayı asallar listesine alınır.

For next döngüsünde üretilen sayılar da oluşturulan asal sayılara tek tek bölünür.

Eğer tam bölünemiyorsa gene asal sayılar listesine alınır.

Kabaca böyle..

16 yaşında bayağı meraklıydım da şimdi bayağı unuttum bunları..

Link to post
Sitelerde Paylaş

15 değil miydin sen yahu? :)

Neyse konuyla alakalı bir şey de yazalım. Gelenek bozulmasın..

Bence asal sayıları bulmak için for next döngüsüyle 1 den o sayının ulaştığı limite kadar sayı üretilir.

Her sayı 2'den başlayarak bölünür. Eğer tam bölünemiyorsa o sayı asallar listesine alınır.

For next döngüsünde üretilen sayılar da oluşturulan asal sayılara tek tek bölünür.

Eğer tam bölünemiyorsa gene asal sayılar listesine alınır.

Kabaca böyle..

16 yaşında bayağı meraklıydım da şimdi bayağı unuttum bunları..

En az diyorum, anla işte sen :)

C++'da yapacağım. En dışta birden başlayıp unsigned int'in alabileceği maksimum değer kadar dönen bir for olacak. Bu her sayıyı analiz etmemi sağlayacak. Sonra bunun içinde bir tane daha for olacak. Bu for da 2'den başlayıp dış döngünün bulunduğu sayı-1' e kadar gidecek. Her dönüşte % operatörü ile bölümden kalanı alacağım. 0 olduğu an döngüden çıkacağım çünkü asal sayı olmadığı anlaşılmış olacak.

Link to post
Sitelerde Paylaş

“Mersenne.org”da yapılan açıklamada, 17 milyon 425 bin 170 haneli sayının Missouri Üniversitesi'nden matematikçi Curtis Cooper tarafından keşfedildiği belirtildi.

2008 yılında keşfedilen 12 milyon 978 bin 189 basamaklı sayı, en uzun asal sayı kabul ediliyordu.

Cooper, “2 üzeri 57.885.161 eksi 1” olarak tanımlanan sayıyı asal sayıları bulmaya adanmış devasa bir gönüllü bilgisayarlar ağının yardımıyla bulduğunu söyledi.

Büyük İnternet Mersenne Asal Sayı Arama (GIMPS) ağı, saniyede 150 trilyon hesaplama yapan 360 bin işlemci kullanıyor.

“Mersenne Asalları” olarak da bilinen asal sayıların özel bir sınıfının 48. örneği olan sayı, Cooper'ın şimdiye kadar keşfettiği üçüncü asal sayı oldu.

“Mp = 2n- 1” olarak formüle edilen Mersenne Asalları, 17. yüzyılda bu sayıları keşfeden Fransız matematikçi Marsin Mersenne'in ismini taşıyor. Şimdiye kadar bu sayılardan sadece 47 tane keşfedilmişti.

Keşif, Cooper'a 3 bin dolarlık GIMPS ödülü kazandırdı.

http://www.hurriyet....ji/22547648.asp

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

Arkadaşlar isterseniz o dizinin belli bir sayıya kadar olan elemanlarını ve ilk 169 asal sayıyı bulan programı yazıp koyayım buraya :)

Ne dersiniz?

Sevgili BrainDamage.

Soruyu bir gazeteci haber olarak aktardığı için, yazılış şekli yanlış anlaşılmaya elverişli. Muhtemelen soruyu sen de yanlış anlamışsındır.

Mesela sorunun a şıkkı:

(7+30 üssü n) dizisi veriliyor. Buna göre,

a) İlk 169 asal tam sayıdan kaç tanesi bu dizinin terimlerini tam böler?

Cümle; formüle edildiği şu hali ile:

- İlk 169 asal sayı zaten belli. 2, 3, 5, 7, 11... Bunları sıralamak basit.

Ama cümlenin devamında ne istendiği muğlak. Belli değil. Dizinin terimleri bu asal sayılara bölünecekler. Sonuç tamsayı çıkacak. Buraya kadar anlaşılıyor (Tabi doğru ifade edildi ise). Ama

- Dizinin herhangi bir terimini mi tam olarak bölecek?

- Yoksa dizinin bütün terimlerini mi tam olarak bölecek?

Sevgiler

Link to post
Sitelerde Paylaş

Sevgili BrainDamage.

Soruyu bir gazeteci haber olarak aktardığı için, yazılış şekli yanlış anlaşılmaya elverişli. Muhtemelen soruyu sen de yanlış anlamışsındır.

Mesela sorunun a şıkkı:

Cümle; formüle edildiği şu hali ile:

- İlk 169 asal sayı zaten belli. 2, 3, 5, 7, 11... Bunları sıralamak basit.

Ama cümlenin devamında ne istendiği muğlak. Belli değil. Dizinin terimleri bu asal sayılara bölünecekler. Sonuç tamsayı çıkacak. Buraya kadar anlaşılıyor (Tabi doğru ifade edildi ise). Ama

- Dizinin herhangi bir terimini mi tam olarak bölecek?

- Yoksa dizinin bütün terimlerini mi tam olarak bölecek?

Sevgiler

Evet, orası oldukça muğlak bence de. Fakat dizinin bütün terimlerinin tam olarak bölünebilmesi zor gibi görünüyor.

Link to post
Sitelerde Paylaş

En az diyorum, anla işte sen :)

C++'da yapacağım. En dışta birden başlayıp unsigned int'in alabileceği maksimum değer kadar dönen bir for olacak. Bu her sayıyı analiz etmemi sağlayacak. Sonra bunun içinde bir tane daha for olacak. Bu for da 2'den başlayıp dış döngünün bulunduğu sayı-1' e kadar gidecek. Her dönüşte % operatörü ile bölümden kalanı alacağım. 0 olduğu an döngüden çıkacağım çünkü asal sayı olmadığı anlaşılmış olacak.

Sevgili BrainDamage.

Bu iki for döngüsü ile sanırım asal sayıları bulmak istiyorsun.

C++ dilinde UINT kaç bitlikdir bilmiyorum. Ama 32 bit olduğundan yola çıkayım. Bu durumda

Birinci for döngüsü 1'den 4 294 967 295'e kadar sayacak. Her sayı değişiminde ikinci for döngüsü de bir o kadar sayacak. Bilgisayarın en kötü durumda yaklaşık olarak 18 446 744 065 119 617 025 sefer sayacak. Diğer işlemleri göz ardı etsem dahi... Bilgisayarının bir hafta içerisinde bu sayma işlemini bitireceğini hiç sanmıyorum. :D

Onbinlerce veya yüzbinlerce yıl sürer gibi geliyor bana.

Ne dersin?

Yapmak istediğin prensip olarak doğru olsa da, kendine en kötü ve zahmetli bir yöntem seçmişsin. SAyma işlemini azaltman için illk ip ucu benden gelsin: Asal sayıların özelliklerinden yararlan. Dış döngünün sayıcısı D, iç döngünün sayıcısı İ ise, iç döngüyü İ = karekök(D)'ye kadar sayman yeterli.

1 000 000 sayısının asal olduğunu anlamak için 999 999 sayısına kadar bölme işlemi yapıp sonucu analiz etmeye gerek yok. 1 000 000 'u sadece karekök(1 000 000) = 1000'e kadar olan sayılara bölersin. Eğer 1000'e kadar olan sayılara bölünmüyorsa, 1 000 000 bir asal sayıdır.

İnternette bir sayının asal olup olmadığını test etmek için daha hızlı yöntemler mutlaka vardır. Bunlar tabi asak sayıların özelliklerini kullanıyorlardır.

Sevgiler

Link to post
Sitelerde Paylaş

DreiMalAli ,

Karekök konusunda haklısınız. Neden yarısına kadar değil de kareköküne kadar saydığımızı anlamasam da doğru gözüküyor. Hatta şu an yaptığım e-kütüphane projesi(Pdf gibi dosyaların üyelikli bir şekilde incelenmesi esasına dayanıyor.) bittiği zaman hesaplama için deneysel bir bilgisayar ağı yapmayı düşünüyorum. İpucu için teşekkürler.

Link to post
Sitelerde Paylaş

Sevgili BrainDamage.

Bir sayının çarpanlarını nasıl buluruz konusunda fikir yürütürsen, karekök noktasına sen de gelirisin.

Eğer asal sayı testi/listesi yazılımı yapmak istersen Bilim Forumu'na bir başlık açmanı tavsiye ederim. Akla ilk gelen fakat büyük sayılar için en kötü yöntemle yüzbinlerce yıl sürecek işlemler biraz fikir yürütme ile bir kaç milisaniyeye indirgenebilir.

Sevgiler

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...