Forum: Ders Arası RSS
Project Euler Soru 3
Sayfa:  1  2  sonraki 
Kadir Can #1
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: Project Euler Soru 3
CWSuskun'un söylemesi üzerine siteye baktım.Soru 3 tam bir dehşet.12 basamaklı bir sayının en büyük asal çarpanı isteniyor.Bir Ruby kodu yazdım.Ruby'de boyut sınırlaması yok.Fakat tam 14 dakikadır sadece 7 basamaklı sayılara gelebildim.Ne zaman biteceğini bilemiyorum.C++'ya çevirmeye çalıştım.__int64 yetmedi.Sizce ne yapabiliriz?
Ali #2
Kullanıcı başlığı: Python / Java / C,C++  / D
Üye Ock 2011 tarihinden beri · 84 mesaj · Konum: Orjin
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
D icin olmadigindan buraya acilabilir sanirim.

C++'ta soyle bir kutuphane gordum.

Bu yarayabilir mi? bilgim yok ama oradaki sorular asiri yorucu olabiliyorlar.

**************

google sites sayfama kendiliginden gelmis :D ama soyle bir kutuphane biginteger

BigInt.h

https://sites.google.com/site/aligoeren/ebooks-repository/…
Ali
Kadir Can #3
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Kütüphaneye yarın bakacağım.Teşekkür ederim.
Çok uzun sürüyor.41 dakika ve gelinen değer:6720000. :(
Bu sorunun kesin süper bir çözümü var ama 8. sınıf matematiği yetmiyor. :D
Bu mesaj Kadir Can tarafından değiştirildi; zaman: 2011-06-29, 15:51.
Ali #4
Kullanıcı başlığı: Python / Java / C,C++  / D
Üye Ock 2011 tarihinden beri · 84 mesaj · Konum: Orjin
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
require 'mathn'
sayi, carpan = 600_851_475_143, 0
asal = Prime.new
while sayi > 1
  carpan = asal.next
  sayi /= carpan while (sayi % carpan).zero?
end
 
puts "En buyuk asal carpan: #{ carpan }."

bu sekilde dener misiniz hocam? (:
Ali
Ali #5
Kullanıcı başlığı: Python / Java / C,C++  / D
Üye Ock 2011 tarihinden beri · 84 mesaj · Konum: Orjin
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
2. kodu editledim. Ondan bir hayli fazla hızlı çalışan bir kod yazdım ettim diyebilirim (:

import std.stdio;
 
void main()
{
    long asal = 600851475143;
    long bir = 1;
 
    for(long i=2; asal>1; i++) {
        if (!(asal%i)) {
            asal /= bir = i;
        }
    }
    writeln(bir);
}

ali@ali:~/Masaüstü$ time ./ali
6857

real    0m0.003s
user    0m0.000s
sys    0m0.000s
ali@ali:~/Masaüstü$

İlk kod için 13 dakika sabredebildim. Biraz hada hızlı olanını yazdım

long kullanmamistim ilk kodda. bunda ise long kullaninca saniyorum rahata eristim (:
Ali
Bu mesaj Ali tarafından değiştirildi; zaman: 2011-06-29, 18:24.
Kadir Can #6
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
CWSuskun;
Çok sağol.Kod çalıştı.
Bundan sonraki soruları D ile çözeceğim.
İlham verdin bana. :D
Ali #7
Kullanıcı başlığı: Python / Java / C,C++  / D
Üye Ock 2011 tarihinden beri · 84 mesaj · Konum: Orjin
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
D ile daha zevkli oluyor (:

En azindan arastirmaya basliyorum sonralari ise arastirmama gerek kalmiyor halledebiliyorum (:

Ben bu kodu D ile yazdim ama Ali hocami merak ediyorum :D acaba D.ershanede ki hangi konudan faydalanarak yazacak :D
Ali
Kadir Can #8
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Ben kodu güzelleştirmek için palindromMu işlevini yazdım.
Ayrıca döngü kısmında senden kopya çektim. :D
Ben hangi sayı daha büyükse onu küçültüyordum.Böylece sayılar hep aynı oluyordu.
Yani 999 998 ise sonraki döngüde 998 998 oluyordu ama yanlış çıktı.Ama bir hatam vardı.Ben her sayıyı mesela 989 ile 954'ü çarpmıyordum.Senin koduna bakınca hatamı anladım.
Şu an 7. soruya geldim. :D

Ayrıca asal sayılar tam baş belası.Bence bu konuyla ilgili bir kütüphane yazmalıyız. :D
Ali #9
Kullanıcı başlığı: Python / Java / C,C++  / D
Üye Ock 2011 tarihinden beri · 84 mesaj · Konum: Orjin
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Guzel olur aslinda (:

Hocam cozdugunuz problemleri burada belirtirseniz farkli sekillerde D ile yapimlarina calisabiliriz (:

Ben 4. problemin konusunu actim

5-6 sizden bekliyorum (:

project euler guzel oldu :D

dil boyle daha iyi gelisiyor D:
Ali
Kadir Can #10
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Gerçekten bu şekilde daha iyi gelişebiliyoruz.
İki gün öncesine kadar ne yazayım diye düşünürdüm.Elimde 300 küsür tane algoritma oldu.Çok sağol. :D
5-6'yı rahat çözdüm.Onlar diğerlerine göre kolay.
Bİr asal sayılar kütüphanesi ile büyük sayılar kütüphanesi kesinlikle yazmalıyız. :D
acehreli (Moderatör) #11
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #7
Benim zamanım daralmaya başladı. Bu konulara Türkiye'ye geldikten sonra daha fazla zaman ayırabilirim.

Ali
Ali #12
Kullanıcı başlığı: Python / Java / C,C++  / D
Üye Ock 2011 tarihinden beri · 84 mesaj · Konum: Orjin
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Olur hocam biz bunlarin konusunu acinca bir mahsur olmaz umarim (:
Ali
acehreli (Moderatör) #13
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ne mahsuru olabilir ki? :) Bu konular sayesinde forumda D programlarının sayısı katlanmaya başladı! ;) Devam...

Ali
acehreli (Moderatör) #14
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #1
Kadir Can on 2011-06-29, 15:30:
Soru 3 tam bir dehşet.12 basamaklı bir sayının en büyük asal çarpanı isteniyor

Hangi sorulara bakıyorsunuz? Benim gördüğüm metinde basamak sayısı yok:

  http://projecteuler.net/index.php?section=problems

Ben şöyle çeviriyorum: "Bir bileşik sayının en büyük asal çarpanını bulunuz."

Ali
Ali #15
Kullanıcı başlığı: Python / Java / C,C++  / D
Üye Ock 2011 tarihinden beri · 84 mesaj · Konum: Orjin
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Abi ingilizcemiz kotu :D
Ali
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Sayfa:  1  2  sonraki 
Forum: Ders Arası RSS
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-19, 00:47:54 (UTC -08:00)