zoukankan      html  css  js  c++  java
  • 快乐数

    快乐数
    若将一个整数n的所有数字拆开分别平方後再相加,如此反覆进行至只剩个位数之後,其结果为1,则我们称n为快乐数
    例如32→3^2+2^2=13
    13→1^2+3^2=10
    10→1^2+0^2=1
    可以称32为快乐数
    Input的第一个数字为测资个数
    Output为Happy或Not Happy
    例:
    Input:
    3
    28
    32


    答案:

    public class Solution {
        static List<String> result = new LinkedList<String>();
        public static void main(String[] args) {
            Scanner scan = new Scanner(System.in);
            int num = scan.nextInt();
            for(int i=0;i<num;i++){
                  if(isHappy(scan.nextInt())){
                      result.add("Happy");
                  }else{
                      result.add("Not Happy");
                  }
            }
            
            for(String i:result){
                System.out.println(i);
            }
            
        }
       
        public static long sum_square(long n){
            long sum = 0;
            while(n!=0){
                sum += Math.pow(n%10,2);
                n = n/10;
            }
            return sum;
        }
        public static  boolean isHappy(int n) {
        
            if(n<0)  return false;
            long nn = n ;
            Set<Long> set = new HashSet<Long>();
            while(true){
                if(set.contains(nn)){
                    return false;
                }
                else{
                    set.add(nn);
                }
                nn = sum_square(nn);
                if(nn==1)  return true;
            }
        
        }
    }
  • 相关阅读:
    Spring5.0源码导入IDEA(一)
    适配器模式
    3.6常见查询示例
    3.5在批处理模式下使用mysql
    3.4获取有关数据库和表的信息
    3.3.4.9使用多个表
    3.3.4.8计数行
    3.3.4.7模式匹配
    3.3.4.6使用NULL值
    3.3.4.5日期计算
  • 原文地址:https://www.cnblogs.com/bmbi/p/5281483.html
Copyright © 2011-2022 走看看