判断一个数是否为Happy数

来源:互联网 发布:js 获取http 的状态 编辑:程序博客网 时间:2024/05/21 08:48

题目: 定义如下的一个数为happy数:
例如19为happy数
12+92=82
82+22=68
62+82=100
12+02+02=1
即循环各个位数的平方和最后是否为1,如果为1即为happy数。

代码:

    public boolean isHappy(int n) {        int sum=0;        while(n>9)        {            sum+=Math.pow(n%10,2);//求平方和            n=n/10;                             }        sum+=Math.pow(n,2);        if(sum>9) return isHappy(sum);        if(sum==1) return true;        else return false;    }

在java中求平方有两种方法:
1. 直接将同一个数相乘;

int b=6;int a = b*b;//两个数相乘达到平方的效果
  1. 使用Math的pow方法求平方
//第一个参数是底数,第二个数是指数int b=6;int a = Math.pow(b,2);//表示b的平方

java中^为按位异或,不要和MATLAB搞混了~

0 0
原创粉丝点击