Python Programlama ile zeka soruları

Sorumuz şu: Okunuşunda ki harfleri birbirinden farklı en büyük üç haneli sayı nedir?

Elbette bu soruyu elle de çözmek mümkün ama epey deneme yanılma yapmak gerekir. Örneğin yüzbir, okunuşunda harfler farklı, yüzdört yine okunuşunda ki harfleri farklı daha büyük bir sayı.

Gelin bu sorumuzu pyhton ile çözdürelim.

def yaziyap(sayi):
    birler = ["","bir","iki","üç","dört","beş","altı","yedi","sekiz","dokuz"]
    onlar = ["","on","yirmi","otuz","kırk","elli","altmış","yetmiş","seksen","doksan"]
    sayi=str(sayi)
    if sayi[0]=="1":
        return "yüz"+onlar[int(sayi[1])] + birler[int(sayi[2])]
    else:
        return birler[int(sayi[0])]+"yüz" + onlar[int(sayi[1])] + birler[int(sayi[2])]

for n in reversed(range(999)):
    if len(yaziyap(n)) == len(set(yaziyap(n))):
        print(yaziyap(n))
        break

def kısmı bir fonksiyondur, gelen sayının okunuşunu döndürür geriye. Diğer önemli kısım ise gelen string bilginin işlenişidir. if kısmında yaptığımız gelen kelimenin harflerini sayıyoruz, bir de küme yapıp sayıyoruz. Kümelerin şöyle bir güzelliği var ki aynı elemandan birden fazla kabul etmiyor.

Yorum Durumu: Yorum yok --- Kategori: Bilişim, Zeka Soruları --- Etiketler: , , , , ---

Yumurta ve Matematik

Elimde özdeş iki yumurta var (dayanıklılar) ve 10 katlı bir bina var. Yumurtaların kaçıncı kattan atıldığında kırıldığını bulmak istiyorum. Kırılan yumurtayı bir daha atamıyorum. Bunun için minimum kaç deneme yapmam gerekir? (bir yumurta bir katta kırılıyorsa üstündeki bütün katlardan atıldığında kırılıyor demektir)

Yine iki dayanıklı yumurta ile bu sefer 100 katlı bir binada kesin olarak hangi katta kırıldığını bulmak istiyorum. Bu sefer minimum kaç deneme yapmam gerekir?

Yorum Durumu: 8 yorum --- Kategori: Zeka Soruları --- Etiketler: , ---