Hoşgeldin Misafir

Python kodu neden çalışmıyor?

gtech

26 Ara 2017
604 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Kod:panoya kopyala

Kod:
def d:
 İf n ==0:
 Return 0
 k = int(n ** (1 / 3))
 return D(n - k ** 3) + 1
print(D(1000))

Bu kod neden 1 çıktısını vermiyor?
Çünkü:

Kod:panoya kopyala

Kod:
ilk çağrı: D(1000)
k hesapla: K = int(1000^(1/3)) = int(10) = 10.
k^3 = 10^3 = 1000.
Özyinelemeli çağrı: D(1000 - 1000) + 1 = D(0) + 1
d(0) 0 döndüğü için, D(1000) = 0 + 1 = 1 olur.
Ama 5 çıktısını alıyorum

Amacım n sayısının en az kaç tane kup sayının toplamı olduğunu bulmak, örneğin 36 = 27+8+1 çıktı = 3