Project Euler 4: En Büyük Palindrom Çarpımı

- Özgün
Soru: Palindrom sayılar her iki yönden de aynı okunan sayılardır. İki basamaklı iki sayının çarpımıyla oluşturulabilen en büyük palindrom 91*99=9009'dur. Üç basamaklı iki sayının çarpımı olarak yazılabilen en büyük palindromu bulunuz.Bu soruda yapmamız gereken iki temel işlem var: Sayının palindrom olup olmadığını test etmek ve en büyük palindromu bulmak.
Palindrom Testi
Aslında sorunun amacı her ne kadar palindrom olup olmadığının testiyle uğraştırmaya çalışsa da bunu elimizdeki metotlar ile kolayca yapabiliyoruz. Fakat yine de mantığını anlamakta fayda var. Elimizdeki sayıyı önce metine çevirip, ardından karakterlere ayırmalıyız. Sonra bu karakterleri ters sırayla başka bir metin olarak kaydedip, ilk metin ile aynı olup olmadığını kontrol etmeliyiz. Bunu aşağıdaki kod parçacığı ile kolaylıkla yapabiliyoruz.
En Büyük Palindrom
Üç basamaklı iki sayının çarpımları arasından en büyük palindromu bulmak biraz yorucu bir işlem. 100 ile 999 arasından bir sayı seçip, yine 100 ile 999 arasından seçilen bir sayı ile çarpmamız gerekiyor. Yani 900*900=810000 seçenek demek. Her birini tek tek değerlendirirken de ayrıca işlem yapıyoruz. Bu durum fazlasıyla gereksiz işlem barındırıyor. Basit bir yaklaşımla en büyük palindromun 900'ün üzerindeki iki sayının çarpımı olarak ifade edilebileceğini düşünebiliriz. Böylelikle sadece 100*100=10000 seçenek kalır. Böyle bir varsayımda bulunarak 81 kat daha az işlem yapmış oluyoruz. Yani problemi çözme süremiz neredeyse yüzde birine iniyor.
Böylelikle sonuç: 913*993 = 906609 olarak bulunur.
Ögetay Kayalı
Evrim Ağacı'nda tek bir hedefimiz var: Bilimsel gerçekleri en doğru, tarafsız ve kolay anlaşılır şekilde Türkiye'ye ulaştırmak. Ancak tahmin edebileceğiniz gibi Türkiye'de bilim anlatmak hiç kolay bir iş değil; hele ki bir yandan ekonomik bir hayatta kalma mücadelesi verirken...
O nedenle sizin desteklerinize ihtiyacımız var. Eğer yazılarımızı okuyanların %1'i bize bütçesinin elverdiği kadar destek olmayı seçseydi, bir daha tek bir reklam göstermeden Evrim Ağacı'nın bütün bilim iletişimi faaliyetlerini sürdürebilirdik. Bir düşünün: sadece %1'i...
O %1'i inşa etmemize yardım eder misiniz? Evrim Ağacı Premium üyesi olarak, ekibimizin size ve Türkiye'ye bilimi daha etkili ve profesyonel bir şekilde ulaştırmamızı mümkün kılmış olacaksınız. Ayrıca size olan minnetimizin bir ifadesi olarak, çok sayıda ayrıcalığa erişim sağlayacaksınız.
Makalelerimizin bilimsel gerçekleri doğru bir şekilde yansıtması için en üst düzey çabayı gösteriyoruz. Gözünüze doğru gelmeyen bir şey varsa, mümkünse güvenilir kaynaklarınızla birlikte bize ulaşın!
Bu makalemizle ilgili merak ettiğin bir şey mi var? Buraya tıklayarak sorabilirsin.
Soru & Cevap Platformuna Git- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
Evrim Ağacı'na her ay sadece 1 kahve ısmarlayarak destek olmak ister misiniz?
Şu iki siteden birini kullanarak şimdi destek olabilirsiniz:
kreosus.com/evrimagaci | patreon.com/evrimagaci
Çıktı Bilgisi: Bu sayfa, Evrim Ağacı yazdırma aracı kullanılarak 17/05/2025 05:04:26 tarihinde oluşturulmuştur. Evrim Ağacı'ndaki içeriklerin tamamı, birden fazla editör tarafından, durmaksızın elden geçirilmekte, güncellenmekte ve geliştirilmektedir. Dolayısıyla bu çıktının alındığı tarihten sonra yapılan güncellemeleri görmek ve bu içeriğin en güncel halini okumak için lütfen şu adrese gidiniz: https://evrimagaci.org/s/12595
İçerik Kullanım İzinleri: Evrim Ağacı'ndaki yazılı içerikler orijinallerine hiçbir şekilde dokunulmadığı müddetçe izin alınmaksızın paylaşılabilir, kopyalanabilir, yapıştırılabilir, çoğaltılabilir, basılabilir, dağıtılabilir, yayılabilir, alıntılanabilir. Ancak bu içeriklerin hiçbiri izin alınmaksızın değiştirilemez ve değiştirilmiş halleri Evrim Ağacı'na aitmiş gibi sunulamaz. Benzer şekilde, içeriklerin hiçbiri, söz konusu içeriğin açıkça belirtilmiş yazarlarından ve Evrim Ağacı'ndan başkasına aitmiş gibi sunulamaz. Bu sayfa izin alınmaksızın düzenlenemez, Evrim Ağacı logosu, yazar/editör bilgileri ve içeriğin diğer kısımları izin alınmaksızın değiştirilemez veya kaldırılamaz.