蓝桥杯备考随手记: practise07

问题描述:

小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。

你能猜出这个数字是多少吗?

思路分析:

对于这个数字的平方和立方,当把它们的数字拼起来(不是分别包含),恰好能组成 0 到 9 这 10 个数字,每个数字都出现且只出现一次。

通过循环逐个尝试数字number,计算number的平方和立方,然后提取各个位数字并存储在HashSet中,最后判断HashSet中是否包含了0到9这10个数字且每个数字只出现一次。

如果找到满足条件的数字number,则输出该数字并结束循环。

代码实现:

java 复制代码
import java.util.HashSet;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        // 初始化一个变量number为0,用于逐个尝试数字,直到找到满足条件的数字
        int number = 0;
        while (true) {
            // 计算当前数字的平方和立方
            int square = (int) Math.pow(number, 2);
            int cube = (int) Math.pow(number, 3);

            if (isUniqueDigits(square, cube)) {
                // 如果找到满足条件的数字,输出该数字并终止循环
                System.out.println("小明发现的奇妙数字是: " + number);
                break;
            }
            // 尝试下一个数字
            number++;
        }
    }

    // 检查平方和立方中的数字是否包含10个不同的数字
    private static boolean isUniqueDigits(int square, int cube) {
        // 使用HashSet存储数字的各个位,保证不重复
        Set<Integer> digits = new HashSet<>();
        // 提取平方中的各个位数字
        while (square > 0) {
            digits.add(square % 10);
            square /= 10;
        }
        // 提取立方中的各个位数字
        while (cube > 0) {
            digits.add(cube % 10);
            cube /= 10;
        }
        // 判断HashSet中的数字个数是否为10,即是否包含10个不同的数字
        return digits.size() == 10;
    }
}
相关推荐
承渊政道1 分钟前
10:30提交预约会不会撞上10:00的会议?我用飞算JavaAI3.9.1和3.9.9跑了四个时间段
java·springboot·ai编程·飞算javaai·java代码生成
SL_staff2 分钟前
风控规则如何从硬编码解耦?我们在 JVS-Rules 中的实践与思考
java·spring boot·设计模式
_Narcissus_4 分钟前
B+树的概念和操作笔记(含完整代码实现)
c语言·数据结构·数据库·c++·笔记·b树·算法
数据库技术讲堂13 分钟前
从 GitOps 到数据库变更:NineData 如何打通 CI/CD 的数据库治理链路
java·数据库·ci/cd
深海呐24 分钟前
Java 位运算符的实际应用:不止面试刷题,业务同样能用
java·位运算符·java 位运算·java 开发技巧·状态位设计·java 高阶用法·位运算符实战
Wang's Blog24 分钟前
PostgreSQL笔记33: 索引底层原理、扫描类型与属性体系深度解析
数据库·笔记·postgresql
2602_9599609226 分钟前
电商场景Java面试:Spring Boot、JVM、Redis、Kafka、微服务与分布式事务考点解析——谢飞机的作死面试记
java·jvm·spring boot·redis·面试题
是上好佳佳佳呀26 分钟前
【深度学习|DAY05】卷积神经网络深度学习笔记
笔记·深度学习·cnn
路多辛28 分钟前
一个 Go 写的全能 AI Agent,讲讲 covo-agent
java·开发语言·golang
蒸蒸yyyyzwd29 分钟前
cpp 选手备战秋招学习笔记 day11
redis·笔记·求职招聘