Menu
CoddyTech

Steps to Reduce a Number to Zero

Negatif olmayan bir n tam sayısından başlayın ve 0'a ulaşana kadar bir kuralı tekrarlayın: sayı çiftse 2'ye bölün; tekse 1 çıkarın. Kuralın her uygulanışı bir adımdır. Kaç adım sürdüğünü döndürün.

Fonksiyon

numberOfSteps(n: integer) → integer
ninteger
başlangıç sayısı
Döndürürinteger
sayı 0'a ulaşana kadar atılacak adım sayısı

Kısıtlar

  • 0 ≤ n ≤ 231 - 1

Örnekler

Girdi
n = 14
Çıktı
6
Açıklama
Sayı 14 → 7 → 6 → 3 → 2 → 1 → 0 şeklinde ilerler: üç yarıya bölme ve üç çıkarma, 6 adım.
challenge icon

Ek soru

Tek sayının da 1 artırılabileceğini varsayalım. 0'a ulaşmak için gereken en az adım sayısı kaçtır ve 15 için hangi seçim doğrudur?

Kodu sıfırla
def numberOfSteps(n):
    # Kodu buraya yazın

Test #1

Test #2

Test #3

Argüman

n = 14

Beklenen Çıktı

6