Forum: Ders Arası RSS
Project Euler Soru 3
Page:  1  2  next 
Kadir Can #1
Member since Jun 2010 · 301 posts
Group memberships: Üyeler
Show profile · Link to this post
Subject: 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
User title: Python / Java / C,C++  / D
Member since Jan 2011 · 80 posts · Location: Orjin
Group memberships: Üyeler
Show profile · Link to this post
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
Member since Jun 2010 · 301 posts
Group memberships: Üyeler
Show profile · Link to this post
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
This post was edited on 2011-06-29, 14:51 by Kadir Can.
Ali #4
User title: Python / Java / C,C++  / D
Member since Jan 2011 · 80 posts · Location: Orjin
Group memberships: Üyeler
Show profile · Link to this post
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
User title: Python / Java / C,C++  / D
Member since Jan 2011 · 80 posts · Location: Orjin
Group memberships: Üyeler
Show profile · Link to this post
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
This post was edited on 2011-06-29, 17:24 by Ali.
Kadir Can #6
Member since Jun 2010 · 301 posts
Group memberships: Üyeler
Show profile · Link to this post
CWSuskun;
Çok sağol.Kod çalıştı.
Bundan sonraki soruları D ile çözeceğim.
İlham verdin bana. :D
Ali #7
User title: Python / Java / C,C++  / D
Member since Jan 2011 · 80 posts · Location: Orjin
Group memberships: Üyeler
Show profile · Link to this post
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
Member since Jun 2010 · 301 posts
Group memberships: Üyeler
Show profile · Link to this post
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
User title: Python / Java / C,C++  / D
Member since Jan 2011 · 80 posts · Location: Orjin
Group memberships: Üyeler
Show profile · Link to this post
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
Member since Jun 2010 · 301 posts
Group memberships: Üyeler
Show profile · Link to this post
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 (Moderator) #11
User title: Ali Çehreli
Member since Jun 2009 · 2279 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
In reply to post #7
Benim zamanım daralmaya başladı. Bu konulara Türkiye'ye geldikten sonra daha fazla zaman ayırabilirim.

Ali
Ali #12
User title: Python / Java / C,C++  / D
Member since Jan 2011 · 80 posts · Location: Orjin
Group memberships: Üyeler
Show profile · Link to this post
Olur hocam biz bunlarin konusunu acinca bir mahsur olmaz umarim (:
Ali
acehreli (Moderator) #13
User title: Ali Çehreli
Member since Jun 2009 · 2279 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
Ne mahsuru olabilir ki? :) Bu konular sayesinde forumda D programlarının sayısı katlanmaya başladı! ;) Devam...

Ali
acehreli (Moderator) #14
User title: Ali Çehreli
Member since Jun 2009 · 2279 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
In reply to post #1
Quote by Kadir Can on 2011-06-29, 14: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
User title: Python / Java / C,C++  / D
Member since Jan 2011 · 80 posts · Location: Orjin
Group memberships: Üyeler
Show profile · Link to this post
Abi ingilizcemiz kotu :D
Ali
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please note the verification code from the picture into the text field next to it.
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Page:  1  2  next 
Forum: Ders Arası RSS
Not logged in. · Lost password · Register
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Current time: 2012-05-18, 09:59:42 (UTC -07:00)