关于java实现四个数的自动混合运算思路

问题

给定一个数组[3 3 8 8],和一个数k,k = 24, 可以使用加减乘除和括号,问如何使用前四个数计算才可以得到24?

手动解法思路

在被提到这个问题的时候一瞬间是懵的,但是也很兴奋,很快就可以判断出只使用加减是不能成功的,所以肯定会使用到乘除。
下面就是凑的过程,既然有乘除,那么选定一个数8,只需要凑一个3出来与之相乘即可。发现另外3个数不能凑成3,换个思路,凑成1/3也行,那么必须要有一个以3为底分数,只能是8/3,判断出(3-(8/3))=1/3。

程序实现思路

想了想,用dfs遍历所有情况应该可以实现。
还有一种思路,就是用递归,每次把给定值和数组范围缩小,但是返回条件和递归次数不太好想,特此记录一下,有空回来解决

诚邀解题

  • 本题的终极形态应该是任意数组,和任意数k,返回满足条件的等式,若有大神可以用代码实现,请私信本菜狗,不胜感激。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

油光发亮的小猛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值