Göktuğ ÖZTÜRK
4Mar/100

Perfect (Golden) Numbers

Mükemmel (Altın) sayılar dün gittiğim bir iş görüşmesinde karşıma çıkan bir mülakat sorusuydu. Görüşmede, verilen sayı mükemmel sayı ise true, değilse false döndüren bir fonksiyon yazmam istenmişti.

Öncelikle mükemmel sayıların ne olduğundan bahsetmek gerekiyor sanırım. Altın sayılar kendisi haricindeki pozitif bölenlerinin toplamı kendisine eşit olan sayılara denir. Örnek vermek gerekirse 6'nın pozitif bölenlerinin (1,2,3) toplamı yine 6 olduğu için 6 bir altın sayıdır. Aynı şekilde 28'in bölenleri (1,2,4,7,14) toplamı da kendisine eşit olduğundan 28'de bir altın sayıdır. Daha detaylı bilgi için Wikipedia: Perfect Number konusunu inceleyebilirsiniz.

Birçok kişi "çok kolay" 1'den o sayıya kadar döner, tam bölenlerin toplamına bakarız diyecektir. Fakat bu method 999.999 gibi bir sayıyı kontrol ediyorsanız fonksiyona 1 milyon döngü yaptırmanız anlamına geliyor. Ben görüşme esnasında 250.000 döngü ile bu sayıyı doğrulayabilecek bir çözüm sundum.

Aşağıda mülakat sırasında aklıma gelmeyen fakat eve giderken "neden daha önce düşünemedim" dediğim bir altın sayı doğrulama yöntemini sizlerle paylaşmak istiyorum.

Kategori: PHP Okumaya devam et
26Şub/100

TCMB Döviz Kurları Sınıfı

Uzun zaman önce yazmış olduğum Php ile Döviz Kuru Script'ini, güncelliğini yitirdiğinden ve php.ini'ye eklenen allow_url_fopen parametresi yüzünden file ve file_get_contents fonksiyonları uzak sunuculardaki dosyalara ulaşamadığı için tekrardan yazma ihtiyacı duydum.

Aşağıda sınıfın bulunacağı doviz.php ve kullanım örneklerinin olduğu test.php dosyalarının içeriklerini bulabilirsiniz.

İyi günlerde kullanmanız dileğiyle.

Kategori: PHP Okumaya devam et