[MD-sorular] Project Euler
dede
dede_47 at mynet.com
24 Þub 2012 Cum 22:22:55 EET
Sn.Liste Ãœyeleri;
Bir programlama dilini ve algoritmayı iyi
bilenlerin bu bilgilerini kullanıp geliştirmeleri için
internette "Project Euler" isimli
bir site var.Burada ki her problem uygun algoritma ve
bir bilgisayar programı yardımıyla,1 dak.(60 saniye) den
daha az bir sürede çözülebilmektedir.Ben
bu problemlerden "çapıma/amatörlüğüme" uygun
olanlardan bugüne kadar yaklaşık 200 adedini
Matematica programları vasıtasıyla 60 saniyelik bir süreden
daha az bir sürede çözebildim.
Ancak aşağıda Türkçesini ve matematica kodunu yazdığım
sorulardan 357 .soruyu 25 dak.ve
372.soruyuda 2 dak. çözme süresi altına indiremedim.(Çok
çeşitli matematica kodu yazmama rağmen)
---------------------------------------------------------------------------------------------------
357.Soru:30 sayısının tamsayı bölenleri
1,2,3,5,6,10,15,30 dur.30 sayısının her d tamsayı böleninde (d+30/d)’un asal
olduğu görülmektedir.100 000 000 kadar tüm pozitif tam sayıların d tamsayı
bölenlerin de (d+30/d) ‘un asal olanların toplamını bulunuz.
t={};Total[Do[If[p=PrimeQ[Divisors[Prime[n]-1]+(Prime[n]-1)/Divisors[Prime[n]-1]];p==Cases[p,True],AppendTo[t,Prime[n]-1],""],{n,1,5761455}];t]//Timing
372.Soru: M<x<N,
M<y<N aralığında ve Floor (y^2/x^2)’
nun tek tamsayı olması koşulları
altında, apsis ve ordinatı tamsayı olan (x,y) noktalarının sayısına R(M,N)
diyelim.(Bu koşullar altında) R(0,100)=3019 ve R(100,10 000)=29750422 olduğunu
gösterebiliriz.R(2 000 000, 100 000 000 000) bulunuz.
Length[Select[Flatten[Table[Quotient[y^2,x^2],{x,2
10^6+1,10^9},{y, 2 10^6+1,10^9}]],OddQ]]//Timing
356.Soru:g(x)=x^3-(2^n)x^2+n polinomunun en büyük
gerçel kökü an olsun.Örneğin a2=3.86619826…
dır.Toplam(i=1 den 30 kadar:Floor(ai^(987654321)) toplamının sondan
sekiz rakamını bulunuz.
----------------------------------------------------------------------------------------------
Sorularım:
1) Matematica isimli matematik programını daha iyi bilen bir
üye,357 ve 372 sorularını,1 dak. altında bir sürede çözecek programı yazabilir
mi?
2) 356.Problemde verilen polinom denklemin en büyük kökü,
(n) ne olursa olsun daima kesirli bir sayıdır.(en büyük kökün tamsayı kısmı
(2^n-1) dir.) Bu kesirli kökün 987654321. kuvveti de
kesirli bir sayı olup (n) büyüdükçe bu sayı korkunç
olmaktadır.Bu nedenle toplamda ki her terimin
Mod(100 000 000) göre hesaplamak gerekiyor.Ama kesirli bir
sayının Mod(100 000 000) nasıl alınır
bilmediğimden bırakın süreyi, bu soruya bir matematica kodu
dahi yazamadım.Bu soruya uygun bir matematica kodu yazabilecek bir üye
varmıdır?
Saygılarımla
A.Kadir DeÄŸirmencioÄŸlu
Not:Floor, taban fonksiyonunu (kesirli bir sayının tamsayı kısmı) göstermektedir.İsteyenler
İnternete "Project Euler" yazarak, soruların orijinal İngilizcelerine bakabilir.
-------------- sonraki bölüm --------------
Bir HTML eklentisi temizlendi...
URL: <http://lists.math.bilgi.edu.tr/pipermail/md-sorular/attachments/20120224/4d2d4a29/attachment.htm>
MD-sorular mesaj listesiyle ilgili
daha fazla bilgi