没错,都是穷举法。我这有javascript的代码。 <SCRIPT LANGUAGE="JavaScript"> <!-- (s=String.prototype).r=s.replace; q : for(i in a=[8,6,1,9]) { for(j in a) { for(k in a) { for(l in a) { if(i!=j&&i!=k&&i!=l&&j!=k&&j!=l&&k!=l) { for(m in b=["(x+y)","(x-y)","(x*y)","(x/y)","(y-x)","(y/x)"]) { for(n in b) { for(o in b) { if((d=Math.abs)(eval(s=b[o].r(x="x",b[n].r(x,p=b[m].r(x,a[i]).r(y="y",a[j])).r(y,g=a[k])).r(y,h=a[l]))-24)<0.01||d(eval(s=b[n].r(x,p).r(y,b[o].r(x,g).r(y,h)))-24)<0.01) { alert(s+"=24"); break q; } } } } } } } } } alert("ok"); //--> </SCRIPT>
有没有人转换成java的啊,这个我看的晕晕的,谢谢了啊
for(m in b=["(x+y)","(x-y)","(x*y)","(x/y)","(y-x)","(y/x)"]) { for(n in b) { for(o in b) { if((d=Math.abs)(eval(s=b[o].r(x="x",b[n].r(x,p=b[m].r(x,a[i]).r(y="y",a[j])).r(y,g=a[k])).r(y,h=a[l]))-24)<0.01||d(eval(s=b[n].r(x,p).r(y,b[o].r(x,g).r(y,h)))-24)<0.01) { alert(s+"=24"); break q; 这几句翻译一下,有高手吗?
<SCRIPT LANGUAGE="JavaScript">
<!--
(s=String.prototype).r=s.replace;
q :
for(i in a=[8,6,1,9])
{
for(j in a)
{
for(k in a)
{
for(l in a)
{
if(i!=j&&i!=k&&i!=l&&j!=k&&j!=l&&k!=l)
{
for(m in b=["(x+y)","(x-y)","(x*y)","(x/y)","(y-x)","(y/x)"])
{
for(n in b)
{
for(o in b)
{
if((d=Math.abs)(eval(s=b[o].r(x="x",b[n].r(x,p=b[m].r(x,a[i]).r(y="y",a[j])).r(y,g=a[k])).r(y,h=a[l]))-24)<0.01||d(eval(s=b[n].r(x,p).r(y,b[o].r(x,g).r(y,h)))-24)<0.01)
{
alert(s+"=24");
break q;
}
}
}
}
}
}
}
}
}
alert("ok");
//-->
</SCRIPT>
{
for(n in b)
{
for(o in b)
{
if((d=Math.abs)(eval(s=b[o].r(x="x",b[n].r(x,p=b[m].r(x,a[i]).r(y="y",a[j])).r(y,g=a[k])).r(y,h=a[l]))-24)<0.01||d(eval(s=b[n].r(x,p).r(y,b[o].r(x,g).r(y,h)))-24)<0.01)
{
alert(s+"=24");
break q;
这几句翻译一下,有高手吗?