完美整数

135 阅读2分钟

一个整数如果由相同的数字构成,则称为完美整数。例如:

1、11、333 是完美整数。 12、19、101 是不完美整数。 现在,你需要计算给定区间 [x, y] 中有多少个整数是完美整数。

测试样例 样例1:

输入:x = 1 ,y = 10 输出:9

样例2:

输入:x = 2 ,y = 22 输出:10 理解完美整数的定义:完美整数是由相同数字构成的整数,例如 1、11、333 等。 遍历区间 [x, y]:你需要遍历区间 [x, y] 中的每一个整数,判断它是否是完美整数。 判断一个整数是否是完美整数:可以通过将整数转换为字符串,然后检查字符串中的所有字符是否相同来判断。 统计完美整数的数量:在遍历过程中,统计符合条件的完美整数的数量。 以下是代码框架,其中关键步骤用注释标出: java public class Main {    public static int     solution(int x, int     y) {        int count = 0;                // 遍历区间 [x, y]        for (int num = x;         num <= y; num++) {            // 将整数转换为            字符串            String numStr             = Integer.            toString(num);                        // 判断字符串中            的所有字符是否相            同            boolean             isPerfect =             true;            for (int i =             1; i < numStr.            length(); i            ++) {                if                 (numStr.                charAt(i)                 != numStr.                charAt                (0)) {                    isPerf                    ect =                     false;                    break;                }            }                        // 如果是完美整            数,增加计数            if             (isPerfect) {                count++;            }        }                return count;    }    public static void     main(String[] args) {        // 测试用例        System.out.println        (solution(1, 10)         == 9);        System.out.println        (solution(2, 22)         == 10);    }}

关键步骤解释: 遍历区间 [x, y]:使用 for 循环从 x 遍历到 y。 将整数转换为字符串:使用 Integer.toString(num) 将整数转换为字符串。 判断字符串中的所有字符是否相同:通过比较字符串中的每个字符与第一个字符是否相同来判断。 统计完美整数的数量:如果当前整数是完美整数,则增加计数。 理解完美整数的定义:完美整数是由相同数字构成的整数,例如 1、11、333 等。 遍历区间 [x, y]:你需要遍历区间 [x, y] 中的每一个整数,判断它是否是完美整数。 判断一个整数是否是完美整数:可以通过将整数转换为字符串,然后检查字符串中的所有字符是否相同来判断。 统计完美整数的数量:在遍历过程中,统计符合条件的完美整数的数量。 遍历区间 [x, y]:使用 for 循环从 x 遍历到 y。 将整数转换为字符串:使用 Integer.toString(num) 将整数转换为字符串。 判断字符串中的所有字符是否相同:通过比较字符串中的每个字符与第一个字符是否相同来判断。 统计完美整数的数量:如果当前整数是完美整数,则增加计数。