asmuratgg
Zeptopat
- Katılım
- 24 Temmuz 2024
- Mesajlar
- 2
Daha fazla
- Cinsiyet
- Erkek
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:
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