V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
mumuy
V2EX  ›  JavaScript

简易的 24 点计算器

  •  1
     
  •   mumuy · 2016-05-11 13:23:37 +08:00 · 3696 次点击
    这是一个创建于 3117 天前的主题,其中的信息可能已经有所发展或是发生改变。

    为了挑战自己的算法,用最短的代码实现 24 点计算公式的输出! 就是 4 个数字如何通过加减乘除的四则混合运算得出 24 点 http://passer-by.com/calc24/

    16 条回复    2019-02-28 10:58:23 +08:00
    zythum
        1
    zythum  
       2016-05-11 13:27:41 +08:00
    顺便放个 7 , 8 年前写的古董给大家对照把玩 http://zythum.free.bg/play24/
    jsonline
        2
    jsonline  
       2016-05-11 13:28:02 +08:00 via Android
    24 点的乐趣不就是挑战大脑么
    imn1
        3
    imn1  
       2016-05-11 13:29:59 +08:00
    代码呢?
    24 点游戏的中心不是找出所有可行方案,而是最快找出一个可行方案,思路比结果重要
    mumuy
        4
    mumuy  
    OP
       2016-05-11 13:30:45 +08:00
    @imn1 右键查看源代码呀
    mumuy
        5
    mumuy  
    OP
       2016-05-11 13:31:03 +08:00
    @jsonline 对呀对呀,可是有人想不出来要提示的
    loading
        6
    loading  
       2016-05-11 13:31:34 +08:00
    @zythum 你俩神配合,一个提问,一个答案。
    handsome0ne
        7
    handsome0ne  
       2016-05-11 13:43:13 +08:00
    顺便放一个进阶版本供大家把玩 http://handsomeone.github.io/JavaScript24/
    mumuy
        8
    mumuy  
    OP
       2016-05-11 13:53:50 +08:00
    @handsome0ne 为什么是进阶版呢?我们写的都不一样的东西,你写游戏,我写的公式计算
    imn1
        9
    imn1  
       2016-05-11 14:00:50 +08:00
    不太熟 js ,没看出用了什么算法,穷举?

    @handsome0ne
    建议加上位运算,更好玩
    例如 2,5,5,6 ,四则无解,但位运算有解 5*5-(6>>2)
    murmur
        10
    murmur  
       2016-05-11 14:09:14 +08:00
    @imn1 加上导数和阶乘还有通解。。。
    (A'! + B'! + C'! + D'!)! = 4!= 24 ( 0 的阶乘规定为 1 )
    imn1
        11
    imn1  
       2016-05-11 14:17:14 +08:00
    @murmur
    这个是,不过通解没意思
    handsome0ne
        12
    handsome0ne  
       2016-05-11 14:37:32 +08:00
    @imn1 有位运算的吧
    handsome0ne
        13
    handsome0ne  
       2016-05-11 14:39:27 +08:00
    @murmur 我的规则集经过深思熟虑的,一旦接受了设定很容易上瘾
    imn1
        14
    imn1  
       2016-05-11 14:46:58 +08:00
    @handsome0ne
    Y
    是我看花眼了,瞥一眼看到^想当然乘方,没留意是 XOR ,其他几个符号就加 MASK 视而不见了
    autumn3015
        15
    autumn3015  
       2019-02-28 10:48:47 +08:00
    lz 算法变了吗?我记得几年前我看这个帖子的时候还是能看懂 lz 代码的
    autumn3015
        16
    autumn3015  
       2019-02-28 10:58:23 +08:00
    不对 我是看到的是一个用递归算法的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1114 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:50 · PVG 02:50 · LAX 10:50 · JFK 13:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.