3
分解一个64位整数
编写一个GOLF汇编程序,该程序从stdin读取一个整数(后跟换行符),并输出由换行符分隔的素数,然后在stdout上输出尾随换行符。 主要因素不必按特定顺序排列。1不是主要因素。 您的GOLF二进制文件(组装后)必须适合8192字节。 通过运行10次,您的程序将获得评分,每次输入以下内容之一: 8831269065180497 2843901546547359024 6111061272747645669 11554045868611683619 6764921230558061729 16870180535862877896 3778974635503891117 204667546124958269 16927447722109721827 9929766466606501253 这些数字按照难度粗略排序。第一个应该很容易通过试算法解决。 对这组数字进行优化违反了问题的实质,我可以随时更改这组数字。您的程序必须适用于任何正的64位输入数字,而不仅仅是这些。 您的分数是用于计算上述数字的CPU周期的总和。 因为GOLF是非常新的,所以我将在此处包括一些指针。你应该阅读的 GOLF所有的指令和周期成本规格。在Github仓库示例程序中可以找到。请特别看一下析因示例程序,该程序演示了输入/输出。 通过运行将程序编译为二进制文件python3 assemble.py your_source.golf。然后使用运行您的程序python3 golf.py your_source.bin,这也应该打印周期计数。-d使用--help标志查看程序出口处寄存器内容的值-用于查看所有标志。