不能限个数,二个也行,三个也行,只要MONEY加起来等于6645即可.
我已经写了一个,用PB写的,但不知道对不对,因为结果是找不到.
我已经写了一个,用PB写的,但不知道对不对,因为结果是找不到.
解决方案 »
- img显示验证码的问题
- 关于动态改变innerHTML问题
- javascript正则表达式问题
- 急送分·这是一段在表格内生成TR/TD的脚本,但是好像不能及时显示出来,请大家帮我看看。
- 各位情人节快乐,顺便帮忙解决个小问题
- JQueryUI Dialog定位的问题请教!
- 弹出页面怎么调用父页面的javascript里的一个变量(var)和一个方法(function)呢?
- json数据从action中传到前台页面的问题
- 读取数据后,显示成统计图,可有什么好的推荐?
- angular cli 生成的工程 ng serve的时候运行到95% emitting LicenseWebpackPlugin卡住。
- 如何在框架上控制显示的页面上的按钮都灰掉
- js 中如何实现页面传值??在线等
13238
12008.5
11305
11455
11079
11528.5
11918.5
23231.5
24616
24017
22937
现有数据如上,想找出MONEY的组合等于6645的记录,怎么找呢?如果没有就返回NULL.
请各位大侠帮我找找,或者给个结果就行.什么样的组合?加减?乘除?
//ar数组
//rs组合的结果
//flag加减乘除的+-*/
var numar=new Array(0,0,1,1,-1,1,2,3,4,5,7,0,-1);
function Generate_Permutations(ar,rs,flag)
{
var sum=new Array();
if(!ar || ar.length<=1 )return sum;
ar.sort();
var tvar;
var result = new Array();
tvar = ar[ar.length-1] >=0 ? ar[ar.length-1]:"("+ar[ar.length-1]+")";
result.push(tvar);
for(var i=ar.length-2 ;i>=0;i--)
{
var count = result.length;
tvar = ar[i]>=0 ? ar[i]:"("+ar[i]+")";
for(var j=0;j<count;j++)
{
var tmp=tvar+flag+result[j];
eval("var v="+tmp);
if(v==rs){(sum[tmp+"="+rs]++)||(sum[tmp+"="+rs]=1);}
result.push(tmp);
}
result.push(tvar);
}
return sum;
}
var ar=Generate_Permutations(numar,8,"+");
for( x in ar)
document.write(x+"<br>");
</script>
<script>
//ar数组
//rs组合的结果
//operate:
//0:-
//1:+
//2:*
//3:0
var numar=new Array(0,0,-1,-2,-3,-4,1,2,3,4,7,14);
function Generate_Permutations(ar,rs,operate)
{
var sum=new Array();
var flag="+";var tvar,tmp;
switch(operate)
{
case 0:flag="-";break;
case 1:flag="+";break;
case 2:flag="*";break;
case 3:flag="/";break;
default:{operate=1;flag="+";}
}
tvar = ar.join(",");tmp=tvar.replace(/,?0,?/g,"");;
tvar= tvar.length > tmp.length?tmp+",0":tmp;
ar=tvar.split(",");
if(!ar || ar.length<=1 )return sum;
ar.sort();
if((operate==0 && rs>=0)|| operate==3 )ar.reverse();
var result = new Array();
tvar = ar[ar.length-1] >=0 ? ar[ar.length-1]:"("+ar[ar.length-1]+")";
result.push(tvar);
for(var i=ar.length-2 ;i>=0;i--)
{
var count = result.length;
tvar = ar[i]>=0 ? ar[i]:"("+ar[i]+")";
for(var j=0;j<count;j++)
{
tmp=tvar+flag+result[j]
eval("var v="+tmp);
if(v==rs){(sum[tmp+"="+rs]++)||(sum[tmp+"="+rs]=1);}
result.push(tmp);
}
result.push(tvar);
}
return sum;
}
var ar=Generate_Permutations(numar,7,1);
for( x in ar)
document.write(x+"<br>");
</script>