Happy numbers

This commit is contained in:
madmaurice 2016-02-08 14:21:07 +01:00
parent 1b9e60564a
commit 70f777aae4
1 changed files with 28 additions and 0 deletions

28
happynumbers.py Executable file
View File

@ -0,0 +1,28 @@
#!/usr/bin/env python
def happynumbers_step(n):
s = 0
for c in str(n):
s += int(c)**2
return s
def happynumbers(n):
founds = []
s = n
while True:
founds.append(s)
s = happynumbers_step(s)
if s == n:
return False
elif s in founds:
return False
elif s == 1:
return True
if __name__ == '__main__':
from sys import argv
if len(argv) > 1:
n = int(argv[1])
else:
n = 4
print("%d is a %s number" % (n,"happy" if happynumbers(n) else "unhappy"))