本帖最后由 bamenwhj 于 2016-5-11 16:26 编辑
原帖: labview益智游戏-24点:程序设计详解:
https://bbs.elecfans.com/forum.php?mod=viewthread&tid=523941&page=1
1、针对原帖中提到的自动计算算法,完善了求一个解及所有解的功能,提供dll及其LabVIEW调用方法,详见附件;
同时提供控制台应用程序,方便大家使用。
2、该程序扩展为同时可算带负值及0的24点,即输入的4个数的范围为-13至13;
3、因带负值的24点计算结果与不带负值的24点的计算结果存在一定出入,原帖计算器输入数据检测存在问题,需增加运算符数量必须为三个的检测。
4、SLG/float32的计算精度最好控制在1e-5以外,1e-6过低了,DBL/double可选1e-6。
5、关于另一种算法,动态规划法,看起来效率会很高,4变3,3变2,2变1,很容易求解,但是实际写一下代码就会发现:动态的效率一定不如静态的!并且动态法不容易分析全解;
6、关于算法的LabVIEW实现与进一步优化,直接用LabVIEW写了相关的程序,发现效率比调动态链接库还要高,并还可以进一步优化程序,最终52选4的概率计算可以在8s内完成,比之前的20s又进步了很多。
0
|
|
|
|