Μετάβαση στο περιεχόμενο

Ευτυχής αριθμός

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια

Στα μαθηματικά, ευτυχής αριθμός είναι κάθε φυσικός αριθμός ο οποίος καταλήγει στο 1 μετά από την ακόλουθη διαδικασία: Ο αριθμός αντικαθίσταται διαδοχικά από το άθροισμα των τετραγώνων των ψηφίων του (στο δεκαδικό σύστημα).[1][2]

Γενικότερα, μπορεί να οριστεί ευτυχής αριθμός σε οποιοδήποτε σύστημα άλλο από το δεκαδικό, ακολουθώντας την ίδια διαδικασία.[3]

7² = 49 (παίρνουμε το 4 και το 9 και τα υψώνουμε στο τετράγωνο)
4² + 9² = 16 + 81 = 97 (παίρνουμε το 9 και το 7 και τα υψώνουμε στο τετράγωνο)
9² + 7² = 81 + 49 = 130 (παίρνουμε το 1, το 3 και το 9 και τα υψώνουμε στο τετράγωνο)
1² + 3² + 0² = 1 + 9 + 0 = 10 (παίρνουμε το 1 και το 0 και τα υψώνουμε στο τετράγωνο)
1² + 0² = 1 (κατέληξε σε 1, αρά είναι ευτυχής)

1² + 9² = 82
8² + 2² = 64 + 4 = 68
6² + 8² = 36 + 64 = 100
1² + 0² + 0² = 1 + 0 + 0 = 1

1² + 3² + 1² = 1 + 9 + 1 = 11
1² + 1² = 1 + 1 = 2
2² = 4 (κατέληξε σε 4, άρα είναι δυστυχής).[4]

Λίστα ευτυχών αριθμών

[Επεξεργασία | επεξεργασία κώδικα]

Οι 143 ευτυχείς αριθμοί από το 1 - 1.000 είναι:

1, 7, 10, 13, 19, 23, 28, 31, 32, 44, 49, 68, 70, 79, 82, 86, 91, 94, 97, 100, 103, 109, 129, 130, 133, 139, 167, 176, 188, 190, 192, 193, 203, 208, 219, 226, 230, 236, 239, 262, 263, 280, 291, 293, 301, 302, 310, 313, 319, 320, 326, 329, 331, 338, 356, 362, 365, 367, 368, 376, 379, 383, 386, 391, 392, 397, 404, 409, 440, 446, 464, 469, 478, 487, 490, 496, 536, 556, 563, 565, 566, 608, 617, 622, 623, 632, 635, 637, 638, 644, 649, 653, 655, 656, 665, 671, 673, 680, 683, 694, 700, 709, 716, 736, 739, 748, 761, 763, 784, 790, 793, 802, 806, 818, 820, 833, 836, 847, 860, 863, 874, 881, 888, 899, 901, 904, 907, 910, 912, 913, 921, 923, 931, 932, 937, 940, 946, 964, 970, 973, 989, 998, 1000

Το ακόλουθο πρόγραμμα σε Python μας απαντάει αν ένας αριθμός είναι ευτυχής ή δυστυχής και τυπώνει την ακολουθία των αριθμών που συναντήσαμε:

def isHappy(num):
   while num != 1 and num != 4:
      # Αθροίζουμε τα τετράγωνα των ψηφίων του num.
      next_num = 0
      while num > 0:
         digit = num % 10 # Βρίσκουμε το τελευταίο ψηφίο του num.
         next_num += digit * digit
         num //= 10 # Αφαιρούμε το ψηφίο από το num.
      
      print(f" -> {next_num}")
      num = next_num
   
   return num == 1
   
# Παραδείγματα:
isHappy(7)
isHappy(131)

Και παρακάτω είναι ο ισοδύναμος αναδρομικός κώδικας:

def isHappyRec(num):
   print(f" -> {num}")
   if num == 1:
      return True
   if num == 4:
      return False
      
   # Αθροίζουμε τα τετράγωνα των ψηφίων του num.
   next_num = 0
   while num > 0:
      digit = num % 10 # Βρίσκουμε το τελευταίο ψηφίο του num.
      next_num += digit * digit
      num //= 10 # Αφαιρούμε το ψηφίο από το num.
   
   return isHappyRec(next_num)
  1. «Ευτυχισμένοι αριθμοί, δυστυχισμένα νούμερα…». Allu Fun Marx: Αριστερά ...στη Blogoslovakia. 16 Ιανουαρίου 2007. https://afmarx.wordpress.com/2007/01/16/happy-numbers/. Ανακτήθηκε στις 22 Μαρτίου 2018.
  2. W., Weisstein, Eric. «Sad Number». mathworld.wolfram.com (στα Αγγλικά). Ανακτήθηκε στις 22 Μαρτίου 2018.
  3. «Happy number» (στα αγγλικά). Wikipedia. 2025-10-17. https://en.wikipedia.org/w/index.php?title=Happy_number&oldid=1317335156.
  4. Για την ακρίβεια ο κύκλος είναι .