Guest User

Untitled

a guest
Mar 21st, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.46 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. def getDigitalRoot(n):
  4. """Recursively calculates digital root of the given number
  5.  
  6. :param n: 0 <= n <= 10^9
  7. :type n: integer
  8. :return: digital root of the given number
  9. :rtype: int
  10. """
  11.  
  12. if n <= 9:
  13. return n
  14.  
  15. (i, n) = (n, 0)
  16.  
  17. while i > 0:
  18. (i, s) = divmod(i, 10)
  19. n += s
  20.  
  21. return getDigitalRoot(n)
  22.  
  23. assert getDigitalRoot(65536) == 7
  24. assert getDigitalRoot(11) == 2
  25. assert getDigitalRoot(0) == 0
Add Comment
Please, Sign In to add comment