zoukankan      html  css  js  c++  java
  • Java实现蓝桥杯快乐数

    【问题描述】
    判断一个正整数是否是快乐数字?
    如果一个数字能够通过有限次快乐变换成为1,则是快乐数字。
    快乐变换是对一个数字的每一位的平方数求和。
    例如:
    对于68
    68 => 62+82= 100
    100 => 12 + 02 + 02 = 1
    因此68是快乐数字
    输入
    每一行输入一个整数,代表n;如果n为-1,表示输入结束。(n <= 100000000)
    输出
    针对每组数据,输出是否是快乐数字 true/false

    package Xueying_Liu;
    
    import java.util.Scanner;
    
    public class kuaileshu {
        public static String s = "";
    
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            for (; ; ) {
    
                s = "";
                int n = sc.nextInt();
                if (n == -1) return;
                if (isHappy(n))
                    System.out.println("是快乐数
    " + s);
                else
                    System.out.println("不是快乐数
    ");
            }
        }
    
        public static boolean isHappy(int n) {
            s = s + n + "   ";
            // Write your code here
            if (n == 1) {
                return true;
            }
            if (n < 1) {
                return false;
            }
            int count = 0;
            while (n != 1) {
                String s = n + "";
                char[] arr = s.toCharArray();
                int sum = 0;
                for (int i = 0; i < arr.length; i++) {
                    sum += Integer.parseInt(arr[i] + "") * Integer.parseInt(arr[i] + "");
                }
                n = sum;
                s = s + n + "   ";
                count++;
                if (count > 1000) {
                    return false;
                }
            }
            return true;
        }
    
    }
    
    
    
  • 相关阅读:
    测量MySQL的表达式和函数的速度
    MySQL中的比较操作符<=>
    Python中的args和kwargs
    MySQL8新特性(2)--mysql的升级过程
    MySQL8新特性(1)--原子DDL
    PostgreSQL中的一些日志
    PostgreSQL的表空间
    [九]基础数据类型之Boolean详解
    [八]基础数据类型之Double详解
    [七]基础数据类型之Float详解
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13076461.html
Copyright © 2011-2022 走看看