Bir n sayısının mutlu olup olmadığını belirleyen bir algoritma yazın. Mutlu bir sayı, aşağıdaki işlemle tanımlanan bir sayıdır: Herhangi bir pozitif tam sayıdan başlayarak, sayıyı basamaklarının karelerinin toplamıyla değiştirin. Sayı 1'e eşit olana kadar (kalacağı yerde) işlemi tekrarlayın veya 1'i içermeyen bir döngüde sonsuz döngü yapın. Bu işlemin 1'de bittiği sayılar mutludur. n mutlu bir sayıysa true, değilse false döndürün.
 [2, 3, 4]
1. is_happy_number(n) adlı bir işlev tanımlayın. 2. İşlem sırasında görülen sayıları takip etmek için "ziyaret edilen_sayılar" adlı boş bir küme oluşturun. 3. n 1'e eşit değilken devam eden bir while döngüsü başlatın. 4. While döngüsü içinde, n'nin “ziyaret edilen_sayılar” kümesinde olup olmadığını kontrol edin. 5. n "ziyaret edilen_sayılar" kümesindeyse, döngü 1'e ulaşmayacağı için false döndürün. 6. n "ziyaret edilen_sayılar" kümesinde değilse, kümeye n ekleyin. 7. n'yi bir dizeye dönüştürün ve basamaklarının karelerinin toplamını hesaplamak için bir döngü kullanın. 8. n'yi bu toplama eşitleyin. 9. While döngüsü tamamlandıktan sonra, n 1'e eşit olduğundan ve bu nedenle mutlu bir sayı olduğundan, true değerini döndürün.