Menu
CoddyTech

Steps to Reduce a Number to Zero

Mulai dari bilangan bulat nonnegatif n dan ulangi satu aturan sampai mencapai 0: jika bilangannya genap, bagi dengan 2; jika ganjil, kurangi 1. Setiap penerapan aturan dihitung sebagai satu langkah. Kembalikan jumlah langkah yang diperlukan.

Fungsi

numberOfSteps(n: integer) → integer
ninteger
angka awal
Mengembalikaninteger
jumlah langkah hingga angkanya mencapai 0

Batasan

  • 0 ≤ n ≤ 231 - 1

Contoh

Input
n = 14
Output
6
Penjelasan
Angkanya menjadi 14 → 7 → 6 → 3 → 2 → 1 → 0: tiga kali dibagi dua dan tiga kali dikurangi, 6 langkah.
challenge icon

Pertanyaan lanjutan

Misalkan bilangan ganjil juga dapat ditambah 1. Berapa jumlah langkah paling sedikit untuk mencapai 0, dan pilihan mana yang tepat untuk 15?

Reset kode
def numberOfSteps(n):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

n = 14

Output yang diharapkan

6