Jump to page: 1 2
Thread overview
Project Euler Soru 8
Jun 30, 2011
Kadir Can
Jun 30, 2011
Ali
Jun 30, 2011
Kadir Can
Jun 30, 2011
Ali
Jun 30, 2011
Kadir Can
Jun 30, 2011
Ali
Jul 02, 2011
Ali
Jul 03, 2011
Ali
June 30, 2011

Bu soru biraz karışıktı açıkçası.
Verdiği bin basamaklı sayıları 5'erli dilimlere ayırmamızı istiyor.Daha sonrasında bu dilimlerin basamak çarpımını bulmamızı ve en büyük basamak çarpımını sonuç olarak göndermemizi istiyordu.Sayı aralıklarını ve dosyaları kullandım.Dosyalar biraz uğraştırdı.Ben readln()'ın emekli olduğunu sanıyordum ama Dershane'ye bakınca kullanmaya karar verdim.-w parametresi ile uyarı vermedi.Demek ki yanlış hatırlamışım.
Kod:

import std.stdio;
import std.string;
import std.conv;
int basamaklarıÇarp( int dilim )
{
   int çarpım = 1;
   while( dilim >= 10 ){
       çarpım *= dilim % 10;
       dilim /= 10;
   }
   çarpım *= dilim;
   return çarpım;
}
void main()
{
   File dosya = File("sayı.txt","r");
   char[] sayı;
   int[] parçalar;
   int sayaç = 999;
   int enBüyükÇarpım;
   while( !dosya.eof() ){
      sayı ~= chomp( dosya.readln() );
   }
   while( sayaç >= 5 ){
       parçalar ~= to!int( sayı[ $ - sayaç .. $ - ( sayaç - 5 ) ] );
       --sayaç;
   }
   foreach( parça; parçalar ){
       int çarpım = basamaklarıÇarp( parça );
       if( çarpım > enBüyükÇarpım ){
           enBüyükÇarpım = çarpım;
       }
   }
   writeln( enBüyükÇarpım );
}

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

June 30, 2011

Evet, aslında karışık.Ben de biraz uğraşmak zorunda kaldım.
Kodlarda karışık bir yer varsa lütfen bana da söyle.
Dokuzu da çözdüm aslında ama bitirmediysen koymayayım.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

June 30, 2011

Verdiğiniz bilgi için teşekkür ederim Ali Bey.
Yalnız aklıma takıldı.readln() emekli mi olacak, yoksa tasarımı mı değişecek?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

June 30, 2011

Bu problemde takilmistim (:, bu benim haneme -1 olarak gecti

  1. problemi insallah cozerim (:

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

June 30, 2011

Yok bitirmedim

makale ceviri isim var. (:

sen onlari yaz zaten, alternatifler gelince konu altinda paylasilir. fark etmez yani (:

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

June 30, 2011

Ali abi,

readln(); emekli olucak, writeln(); olmaz dimi (: cok seviyorum ben onu :D

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

June 30, 2011

Alıntı (Kadir Can):

>

readln()'ın emekli olduğunu sanıyordum ama Dershane'ye bakınca kullanmaya karar verdim

std.cstream içindeki din'in ve dout'un ve bütün std.stream akımlarının yerine aralıklara dayalı olan yeni bir tasarım gelecek. Henüz ufukta görünmedikleri için aslında emekliye ayrıldıkları söylenemez. D.ershane artık yalnızca std.stdio'yu kullanıyor.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

June 30, 2011

readln() ve içinde tanımlı olduğu std.stdio kalıcı.

std.stream ve std.cstream'in yerine aralık kullanan bir tasarım gelecek.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 02, 2011

Offf :d harika harika oldu bu :D

Abi yoksa sende mi cozmeye basladin? :D

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 02, 2011

Ben şöyle çeviriyorum: "Bin haneli bir sayının ardışık 5 hanesinin çarpımı ile elde edilecek en büyük sonucu bulunuz."

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

« First   ‹ Prev
1 2