fractran:Fractran 中的 Fractran 解释器

时间:2024-07-24 09:29:41
【文件属性】:

文件名称:fractran:Fractran 中的 Fractran 解释器

文件大小:81KB

文件格式:ZIP

更新时间:2024-07-24 09:29:41

C++

压裂 Fractran 中的 Fractran 解释器 这最初是一个针对一个已关闭的代码高尔夫问题。 我刚刚在这里复制了代码和文档,但还没有测试任何东西。 解释器是 ,是 1779 个分数。 输入指定如下: 首先,我们通过以下方式对分数m/n = p_0^a0... p_k^ak进行编码: 从 1 开始。然后,对于每个ai : 如果ai > 0则乘以p_2i^ai 如果a_i < 0则乘以p_2i+1^{-ai} 这样,我们将任何分数编码为正整数。 现在,给定一个程序(编码分数 F0、F1、...的序列),我们将其编码为 p_0^F0 p1^F1 ... 最后,解释器的输入由下式给出: 2^(程序) 3^(输入) 5 其中program和input的编码如上。 例如,在第一个测试问题中, 3/2被编码为15 ,因此程序被编码为2^15 ; 并且108被编码为500 。


【文件预览】:
fractran-master
----.gitignore(6B)
----README.md(5KB)
----interpreter.fr(133KB)
----to-fractions.py(3KB)
----fracc()
--------fracc.cpp(491B)
--------program.cpp(1KB)
--------CMakeLists.txt(330B)
--------exp.cpp(3KB)
--------whilefn.cpp(3KB)
--------util.h(669B)
--------fn.h(233B)
--------fn.cpp(311B)
--------seqfn.h(290B)
--------slot.h(263B)
--------slot.cpp(824B)
--------whilefn.h(347B)
--------call.cpp(4KB)
--------iffn.cpp(1KB)
--------call.h(1KB)
--------simplefn.h(629B)
--------exp.h(878B)
--------iffn.h(252B)
--------program.h(588B)
--------seqfn.cpp(1KB)
--------simplefn.cpp(1KB)
----interpreter.frp(7KB)
----LICENSE(1KB)
----interpreter-cpp()
--------CMakeLists.txt(125B)
--------interpreter.cpp(187B)
--------fns.cpp(6KB)
--------fns.h(2KB)

网友评论