算法求助,如下思路是否可实现?

goodtime 2010-06-18 06:12:32
————代表运算
x————a=300;
x————b=400;
x————c=600;
y————a=450;
y————b=550;
y————c=320;
z————a=60;
z————b=65;
z————c=89;

分别能得出x,y,z,a,b,c的值。
...全文
186 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyfhz 2010-07-02
  • 打赏
  • 举报
回复
1. 该算子不是加减乘除中的算子,大家可以自己去验证一下.从等号右边的出现规律来看,它甚至不可能是单调算子。
2. 不要说大学里了,即便是在高中,这样的非单调性算子其实也是不止一个的。比方说求两个数的余数,或者求两个数的最大公约数,或者是求两个数的最小公倍数等等。当然喽,对于这道题目,该算子不可能是最小公倍数,因为 z————c=89中的89本身就是质数。也不可能是最小公倍数,因为z————c=89和y————c=320中的89和320之间没有共因数(当然喽,也可以理解为C=1,但是代入其它式子后会发现无解)。
倒是余数(mod)算子看起来比较可能一点,只要把方程组改成

x=k1*a+300;
x=k2*b+400;
x=k3*c+600;
y=k4*a+450;
y=k5*b+550;
y=k6*c+320;
z=k7*a+60;
z=k8*b+65;
z=k9*c+89;
a>450
b>550
c>600

应该可以解出
超级大笨狼 2010-06-20
  • 打赏
  • 举报
回复
一样的,语言不是问题,就尝试翻译一下, Javascript你存成HTML就可以看到效果。
主要还是思路。
budweiser 2010-06-19
  • 打赏
  • 举报
回复
你穷举所有运算 很好求出结果
超级大笨狼 2010-06-19
  • 打赏
  • 举报
回复

<SCRIPT LANGUAGE="JavaScript">
var Arr=[3,3,2,2,5];
var AllResult=new Array();
var AllExpress=new Array();
//AllResult是不重复的结果集
//AllExpress是所有表达式

function F(x,result,Express)
{
if(x==Arr.length-1){
var IsExist=false;
AllExpress.push( "<br/>" + Express +"=" + result );
for(var i=0;i<AllResult.length;i++){
//查找重复,在其他语言里用Hash表会快很多
if(AllResult[i]==result)
{
IsExist=true;break;
}
}
if(!IsExist){AllResult.push(result);}
}
else
{
F(x+1,result+Arr[x+1],Express+"+" + Arr[x+1]);
F(x+1,result-Arr[x+1],Express+"-" + Arr[x+1]);
F(x+1,result*Arr[x+1],Express+"*" + Arr[x+1]);
if(Arr[x+1]!=0)F(x+1,result/Arr[x+1],Express+"/" + Arr[x+1]);
}
}

F(0,Arr[0],Arr[0].toString());

document.write(AllExpress.toString() );
alert( AllResult.length);
</SCRIPT>


if(x==Arr.length-1)
这里要是改成
if(x==Arr.length-1 && result==24 )
就是24点牌。 把判断重复那里去掉就可以了。

ceoooec 2010-06-19
  • 打赏
  • 举报
回复
各位大大可不可以用C写个,我只学了C~~~~~~
sosidami 2010-06-19
  • 打赏
  • 举报
回复
这个问题应该有很多解,(如果运算可以自定义的话)例如可以有运算不满足交换律,也可以有运算满足交换律,然后结合律之类的代数加上去的话,可以有很多。
showjim 2010-06-18
  • 打赏
  • 举报
回复
%
回复内容太短了!
goodtime 2010-06-18
  • 打赏
  • 举报
回复
运算可以是任何运算啊,仅限于大学本科高等数学一下
budweiser 2010-06-18
  • 打赏
  • 举报
回复
代表运算 只限于 加减乘除 四种运算吗??

如果是有限种运算规则的话, 肯定可以实现, 穷举就行了, 反正也不多。
michael122 2010-06-18
  • 打赏
  • 举报
回复
不明白题意 。。。

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧