Ayt Belirli Sayıda Tekrarlanan Logaritmik Değerlerin Toplamını Bulan python Uygulaması

Kodla Büyü

akbilonline

Seçkin Üye
Seçkin Üye
Mesajlar
328
Ada, kullandığı bilimsel bir hesap makinesinde n <= 32 olmak üzere, her n pozitif tam sayısı için log2n değerini hesaplıyor ve her bir değerin ya tam sayı ya da ondalıklı sayı olduğunu görüyor. Ada; ekranda görünen değer tam sayı ise o sayıyı, ondalıklı sayı ise o sayının tam kısmını bir kâğıda yazdıktan sonra yazdığı bu sayıların toplamını buluyor. Buna göre, Ada’nın bulduğu toplamın sonucu kaçtır?

A) 94 B) 97 C) 100 D) 103 E) 106
 
Eğer kastedilen log 2 tabanında n ise;
32 -> 5
16-31 -> 4*(16)
8-15 -> 3*(8)
4-7 -> 2*(4)
2-3 -> 1*(2)
1 -> 0
Toplam: 0+2+8+24+64+5=103 olur.
 
Eğer kastedilen log 2 tabanında n ise;
32 -> 5
16-31 -> 4*(16)
8-15 -> 3*(8)
4-7 -> 2*(4)
2-3 -> 1*(2)
1 -> 0
Toplam: 0+2+8+24+64+5=103 olur.

@lperen hocam haklısın Log 2 tabanında n demek istemiş kesinlikle. Baştan log10 tabanında 2n diye hesapladım bende.

Kod:
import math
toplam = 0
for i in range(1,33):
    sayi = math.log2(i)
    if type(sayi) == float:
        sayi = math.floor(sayi)
    print("%s. sayi %s" % (i,sayi))
    toplam = toplam + sayi

print(toplam)
cevap 103 çıkıyor.

veya log 10 tabanında 2n için ise 87 çıkıyor.

Kod:
import math
toplam = 0
for i in range(1,33):
    sayi = math.log(2*i)
    if type(sayi) == float:
        sayi = math.floor(sayi)
    print("%s. sayi %s" % (i,sayi))
    toplam = toplam + sayi

print(toplam)
 
Geri
Üst