我想知道在任何组合中,整数A B C D是否能够产生整数结果。
例如,假设我有4个,6个,5个,11个,我需要的结果是40
程序将会很好(如果可以智能测试的话)通过所有选项进行蛮力,它可以看出这些数字是如何产生40的。
例如,程序将执行
4 + 6 + 5 + 11是40?无
4 + 6 + 5 - 11是40?无
4 + 6 - 5 - 11是40?无
...
4 * 6/5/11是40?无
4 * 6 + 5 + 11是40?是
然后它可以显示4 * 6 + 5 + 10,为您提供所需的结果。
如何让程序执行此操作?
之类的东西for(x = 0; x < 4; x++) // four nested for loops
if(x == 0)
first mathematics sign = multiply
....
if(x == 3)
first mathematics sign = subtract
if(y == 0)
second mathematics sign = multlply
可能正常吗?但是我如何为将来的计算位设置数学符号。
谢谢!
答案 0 :(得分:1)
这是一个递归的 Brute-Force 实现
$('a').click(function(){
var object = $(this);
object.parent().parent().addClass('deleteHighlight', 1000, function() {
$(this).find('td').each(function(index, element) {
// Wrap each td inside the selected tr in a temporary div
$(this).wrapInner('<div class="td_wrapper"></div>');
// Fold the table row
$(this).parent().find('.td_wrapper').each(function(index, element) {
// SlideUp the wrapper div
$(this).slideUp();
// Remove padding from each td inside the selected tr
$(this).parent().parent().find('td').each(function(index, element) {
$(this).animate({
'padding-top': '0px',
'padding-bottom': '0px'
}, function() {
object.parentsUntil('tr').parent().remove();
});
});
});
<强>输出强>
发现:11-5 * 6 + 4
注意:输出不是运算符优先级意义上的表达式的表示;它只是从左到右操作。
这只是一个快速的实现,当然,没有人会在真正的scernario中使用它,因为它对于大型集合来说非常慢,正如您所要求的那样,“暴力”。