Menu
CoddyTech

Happy Number

Mulai dari bilangan bulat positif n, lalu ganti nilainya dengan jumlah kuadrat digit-digitnya secara berulang. Contohnya, 12 menjadi 1² + 2² = 5. Jika proses ini mencapai 1, n adalah bilangan bahagia. Jika tidak, proses ini akan terus berputar melalui angka-angka yang tidak pernah mencakup 1. Kembalikan true jika n adalah bilangan bahagia dan false jika bukan.

Fungsi

isHappy(n: integer) → boolean
ninteger
bilangan bulat positif yang akan diuji
Mengembalikanboolean
benar jika mengulangi jumlah kuadrat digit mencapai 1, salah jika terus berulang tanpa henti

Batasan

  • 1 ≤ n ≤ 231-1

Contoh

Input
n = 7
Output
true
Penjelasan
7 menjadi 49, lalu 4² + 9² = 97, lalu 130, lalu 10, lalu 1. Proses ini mencapai 1, jadi 7 adalah bilangan bahagia.
challenge icon

Pertanyaan lanjutan

Bagaimana cara menghitung bilangan bahagia dari 1 sampai 10^6 dengan cepat, menggunakan kembali jawaban untuk bilangan di bawah 1000 alih-alih menelusuri setiap bilangan awal dari nol?

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

Tes #1

Tes #2

Tes #3

Argumen

n = 7

Output yang diharapkan

true