快乐数

作者: zhujiaqqq | 来源:发表于2017-09-21 21:08 被阅读0次

描述

写一个算法来判断一个数是不是"快乐数"。

一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为他每个位置上的数字的平方和,然后重复这个过程直到这个数变为1,或是无限循环但始终变不到1。如果可以变为1,那么这个数就是快乐数。

样例

19 就是一个快乐数。

1^2 + 9^2 = 82
8^2 + 2^2 = 68
6^2 + 8^2 = 100
1^2 + 0^2 + 0^2 = 1

实现

public class Test {
    
    public static boolean isHappy(int n) {
        // write your code here
        List<Integer> list = new ArrayList<>();
        list.add(n);

        int tmp = fun(n);
        while (tmp != 1) {
            if (list.contains(tmp)) {
                return false;
            } else {
                list.add(tmp);
                tmp = fun(tmp);
            }
        }
        return true;

    }

    private static int fun(int n) {
        int tmp = 0;
        tmp = (n % 10) * (n % 10);
        while (n / 10 != 0) {
            n = n / 10;
            tmp += Math.pow((n % 10), 2);
        }
        return tmp;
    }

}

请关注我的个人网站:https://zhujiaqqq.github.io/

相关文章

  • 快乐数

    编写一个算法来判断一个数是不是“快乐数”。 一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的...

  • 快乐数

    描述 写一个算法来判断一个数是不是"快乐数"。 一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为他...

  • 快乐数

  • 快乐数

    题目: 题目的理解: 分解整数,平方和,分解整数。 python实现 想看最优解法移步此处 提交 // END 当...

  • 快乐数

    题目描述:编写一个算法来判断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位...

  • 快乐数

    题目描述 https://leetcode-cn.com/problems/happy-number/ 解 思路 ...

  • 快乐数

    202. 快乐数[https://leetcode.cn/problems/happy-number/] 题目编写...

  • LeetCode202:快乐数

    快乐数【题目描述】编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」定义为:对于一个正整数,每一次将该数替换...

  • 【leetcode】快乐数

    【leetcode】快乐数 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」定义为:对于一个正整数,每一次...

  • 两数之和-快乐数

    1.给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他...

网友评论

      本文标题:快乐数

      本文链接:https://www.haomeiwen.com/subject/xdwtextx.html