用c编程实现:123456789=a,先输入a的值,再在左边插入“+”,“-”,“*”使等式成立

来源:百度知道 编辑:UC知道 时间:2024/06/15 16:33:36
这个程序的主旨思想先输入a的值,然后在1_2_3_4_5_6_7_8_9八个空之间插入“”“+”“-”“*”4个符号使等式成立,但是具体算法我编不出来,故请教各位大虾
如果问题比较详细而且正确本人将把全部积分送出! 要运用到“+”“-”“*”不光是加减运算

http://zhidao.baidu.com/q?word=123456789%3Da%2C%CF%C8%CA%E4%C8%EBa%B5%C4%D6%B5%2C%D4%D9%D4%DA%D7%F3%B1%DF%B2%E5%C8%EB+%2B+%2C+%2D+%2C+%2A+%CA%B9%B5%C8%CA%BD%B3%C9%C1%A2&ct=17&pn=0&tn=ikaslist&rn=10&fr=qrl&fr2=query

直接穷举就可以了。复杂度为 4^8 。 就是 在两个数中间的符号全部列出来, 并且算是否与a 相等。 找到着返回。
因为以上运算符的组合没有 语法问题, 所以也就免去了对其语法检测。

1+2-3+4+5-6-7+8+9=13
1*2+3*5-4+5+6/7+8+9=32/7+17=21又 5/7。
1+2*3*4+5/6+7*8+9=71
……
大幅度随风倒上

1+2-3+4+5-6-7+8+9=13
1*2+3*5-4+5+6/7+8+9=32/7+17=21又 5/7。
1+2*3*4+5/6+7*8+9=71
……