JAVA第二题:最大乘积 把 1~9 这9个数字分成两组,中间插入乘号, 有的时候,它们的乘积也

该博客探讨了如何使用深度优先搜索(DFS)策略解决一个数学问题,即从1到9的数字中分成两组,中间插入乘号,使得乘积仅包含1到9的数字且每个数字仅出现一次。博主展示了几个示例并指出存在多个符合此规律的算式。最终,通过DFS算法,博主找到了乘积最大的算式,其结果为839542176。
摘要由CSDN通过智能技术生成

题目:/*第二题:最大乘积
把 1~9 这9个数字分成两组,中间插入乘号,
有的时候,它们的乘积也只包含1~9这9个数字,而且每个数字只出现1次。
比如:
984672 * 351 = 345619872
98751 * 3462 = 341875962
9 * 87146325 = 784316925

符合这种规律的算式还有很多,请你计算在所有这些算式中,乘积最大是多少?
注意,需要提交的是一个整数,表示那个最大的积,不要填写任何多余的内容。
(只提交乘积,不要提交整个算式)

思路:老dfs回溯了

answer:839542176

public class yamm_02_最大乘积 {
   
	static int[] a = {
   1, 2, 3, 4, 5, 6, 7, 8, 9};
	static int n = 9;  // 代表9个数的全排列
	static int ans = 0;  // 保证每次输出的乘积都比上一次的大
	public static void main(String[] args
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值