1’den 63’e kadar olan sayılar arasında istenilen sayıyı maksimum 6 seferde bulan program

Bu program, kullanıcıdan bir hedef sayı girmesini istiyor ve ardından 1 ile 63 arasında bu hedef sayıyı maksimum 6 seferde bulmaya çalışıyor.

Bir döngü kullanarak her seferinde tahmin edilen sayıyı hesaplıyoruz. İlk tahmin olarak, alt sınırdan (1) ve üst sınırdan (63) orta değeri alıyoruz. Daha sonra, tahminimizi hedef sayıyla karşılaştırarak, tahminin hedef sayıdan büyük veya küçük olduğuna bağlı olarak alt sınırı veya üst sınırı güncelliyoruz. Böylece her seferinde tahmin aralığını yarıya indiriyoruz.

Döngü, hedef sayıyı bulduğumuzda veya maksimum 6 denemeyi aştığımızda sona eriyor. Tahmin, hedef sayıya eşit olduğunda, hedef sayıyı kaçıncı denemede bulduğumuzu kullanıcıya bildiriyoruz. Aksi takdirde, hedef sayıyı 6 denemede bulamadığımızı bildiriyoruz.

Bu şekilde, 1’den 63’e kadar olan sayılar arasında istenilen sayıyı maksimum 6 seferde bulan bir programı yazmış oluyoruz.

hedef_sayi = int(input("Hedef sayıyı girin (1-63 arası): "))
alt_sinir = 1
ust_sinir = 63
tahmin = 0
deneme_sayisi = 0

while tahmin != hedef_sayi and deneme_sayisi < 6:
    tahmin = (alt_sinir + ust_sinir) // 2
    if tahmin > hedef_sayi:
        ust_sinir = tahmin - 1
    else:
        alt_sinir = tahmin + 1
    deneme_sayisi += 1

if tahmin == hedef_sayi:
    print("Hedef sayıyı", deneme_sayisi, "denemede buldunuz!")
else:
    print("Hedef sayıyı 6 denemede bulamadınız!")

 

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*