Menu
CoddyTech

Happy Number

Pozitif bir tam sayı olan n ile başlayın ve onu tekrar tekrar rakamlarının kareleri toplamıyla değiştirin. Örneğin, 12 sayısı 1² + 2² = 5 olur. Bu işlem 1'e ulaşırsa n mutlu sayıdır; aksi hâlde 1'i hiç içermeyen sayılar arasında sonsuza dek döngüye girer. n mutlu sayıysa true, değilse false döndürün.

Fonksiyon

isHappy(n: integer) → boolean
ninteger
test edilecek pozitif tam sayı
Döndürürboolean
Rakamların kareleri toplamını tekrarlamak 1'e ulaşıyorsa true, sonsuza kadar döngüye giriyorsa false

Kısıtlar

  • 1 ≤ n ≤ 231-1

Örnekler

Girdi
n = 7
Çıktı
true
Açıklama
7, 49 olur; sonra 4² + 9² = 97, ardından 130, sonra 10 ve son olarak 1. Süreç 1'e ulaştığından 7 mutludur.

lock iconGönderirken +16 gizli test

challenge icon

Ek soru

1'den 10^6'ya kadar olan mutlu sayıları, her başlangıçtan itibaren sıfırdan ilerlemek yerine 1000'in altındaki sayıların yanıtlarını yeniden kullanarak hızlıca nasıl sayarsınız?

Kodu sıfırla
def isHappy(n):
    # Kodu buraya yazın
Test durumları

Durum 1

Durum 2

Durum 3

Girdi

n = 7

Beklenen

true