利用DFS解24点问题。
- 四则运算
- 阶乘
- 平方根
- 数字拼接
编译后直接运行:
demo
程序将不断读入数字,然后尝试用这些数字计算出24。程序将计算到的第一个结果输出。
可以用-d
设置数据:
demo -d 2 3 1 0
程序直接输出结果(对于以上数据,输出(sqrt(0+1+3)+2)!
)。
-d
使程序不断尝试解析其后的数据,直到失败。
不要用双引号包含数据,这将导致解析失败。
可以用f
、-s
和-c
分别禁止阶乘、平方根和字符拼接:
demo -d 2 3 1 0 -s
Output:
(((0+1)*3)!-2)!
或者:
demo -d 2 3 1 0 -s -f
Output:
3*(10-2)
如果找不到解,输出N/A
。
demo -d 2 3 1 0 -s -f -c
Output:
N/A
程序解析命令行失败后,行为与直接运行时一致。
注意:程序不支持输入负数。
- 项目内容使用MIT许可证。
- 项目的高精度部分(
bigint_dec.h
)来自 Baobaobear/MiniBigInteger,有改动(不涉及算法);复制了其项目的许可证(MIT)在bigint_dec.h
开头。