西西河

主题:【原创】用计算机求解一个儿时的游戏 -- Highway

共:💬39 🌺28
分页树展主题 · 全看首页 上页
/ 3
下页 末页
      • 家园 哈哈,你这么一说我又看了一下我的code,真的是有个bug

        fix了一下,给出了两个答案(7,7,4,4四张牌)

        Please input 4 numbers here, like "7, 8, 11, 9"
        4, 4, 7, 7
        The solution is: (4 - (4 / 7)) * 7
        The solution is: 7 * (4 - (4 / 7))

        仔细一看,其实是一种算法。我现在基于String表达式的算法甄别不出来。简单的fix就是把这些表达式标准化一下,这样形似的算法就会“合并”起来。

        刚才把取余数算法加了进来,答案有多了一些,变成了

        The solution is: (4 * 7) - (4 % 7)
        The solution is: ((4 % 7) * 7) - 4
        The solution is: 7 * (4 - (4 / 7))
        The solution is: (7 * 4) - (4 % 7)
        The solution is: (4 - (4 / 7)) * 7
        The solution is: (7 * (4 % 7)) - 4

        如果把乘方加进来,好多问题变得更有趣了。

      • 家园 我猜可能是除不尽的时候小数截断的问题

        似乎Highway的算法原则上没问题,我猜可能是4/7这种除不尽的时候截断保留小数了,所以后来再X7的时候就和24差一点点。

        都花!

        恭喜:意外获得【西西河通宝】一枚

        谢谢:作者意外获得【西西河通宝】一枚

        鲜花已经成功送出

        PS. Highway叫Jinsong,hehe

      • 家园 7 * (4 - 4/7) = 24
    • 家园 之所以选24这个数,也许是因为4张牌较为容易得到24

      毕竟只能是四则运算,那种小数,开方什么的高级货不算的。24是个偶数而且可以被3整除,同样的数字有12,36等,我猜3张牌算12,5张牌算36不错。就4张牌而言,算出24也许是4张牌的排列组合中最多的。一点愚见。

    • 家园 不懂算法

      不过好几年前玩的手机里就有这个java游戏:24点,当自己无解是手机会给出正解。

分页树展主题 · 全看首页 上页
/ 3
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河