阿里数定义:对一个整数每一位求平方之和,求出数字 a,再对 a 进行上述操作,最终和等于 1 的数
    比如:数字 82 就是一个 阿里数:
    8^2 + 2^2 = 68
    6^2 + 8^2 = 100
    1^2 + 0^2 + 0^2 = 1
    代码展示:

    1. let cont = 0 //计数器
    2. let str //记录原始值
    3. function total(num) {
    4. //这个判断用来记录第一次调用这个函数时得num值 后面采用递归调用
    5. if (cont === 0) {
    6. str = num
    7. }
    8. cont++
    9. //把数字拆分成数组,方便做计算
    10. let a = num.toString().split('')
    11. //判断num值大于等于100
    12. if (num >= 100) {
    13. if (a[0] * a[0] + a[1] * a[1] + a[2] * a[2] === 1) {
    14. return console.log(str)
    15. } else if (a[0] * a[0] + a[1] * a[1] + a[2] * a[2] === 10) {
    16. total(a[0] * a[0] + a[1] * a[1] + a[2] * a[2])
    17. }
    18. }
    19. if (num < 100 && num >= 10) {
    20. if (a[0] * a[0] + a[1] * a[1] === 1) {
    21. return console.log(str)
    22. }
    23. total(a[0] * a[0] + a[1] * a[1])
    24. }
    25. if (num < 10) {
    26. if (num * num === 1) {
    27. return console.log(str)
    28. }
    29. if (num * num > 10) {
    30. total(num * num)
    31. }
    32. }
    33. return num
    34. }
    35. for (let i = 0; i < 100; i++) {
    36. cont = 0
    37. total(i)
    38. }