第八届蓝桥杯Java A组第二题九数算式题解

该博客介绍了如何运用深度搜索算法解决第八届蓝桥杯Java A组第二题——寻找满足特定条件的9数算式的数量。通过将算式左边视为字符串并进行深搜遍历,判断乘积是否符合要求,最终得出解决方案,总共有1625种符合条件的算式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标题:9数算式

观察如下的算式:

9213 x 85674 = 789314562

左边的乘数和被乘数正好用到了1~9的所有数字,每个1次。
而乘积恰好也是用到了1~9的所有数字,并且每个1次。

请你借助计算机的强大计算能力,找出满足如上要求的9数算式一共有多少个?

注意:
1. 总数目包含题目给出的那个示例。
2. 乘数和被乘数交换后作为同一方案来看待。

思路解析:

本题作为填空题,当然可以暴力求解那就用暴力求解的方法,毕竟能得到答案就行,但是在这里我们还是换一种思路,遇到数字的遍历问题我们优先考虑深搜算法,在算式右边我们确实可以遍历数字1-9,但是算式左边就比较难处理了,这也是这题的难点所在。试想一想,如果我们把左边当做一个完整的字符串,中间乘号当做数字0,左边又可以利用深搜遍历了,乘号两边是两个整数,可以看做0的左右两边都有两个整数,那么这道题便迎刃而解了。

参考代码如下

import java.util.HashSet;
import java.util.Set
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值