我目前正在开发一个程序,该程序使用PCSPIM在MIPS汇编中使用递归计算最多200个素数。到目前为止,我已经成功地填充了一个从1到200的数字数组和一个由所有1组成的二进制向量列表。我正在苦苦思索的概念是如何使用堆栈框架来帮助这个过程。
下面是我为堆栈帧准备的内容:
subu $sp,$sp,32 # Set up the stack frame
sw $ra, 28($sp) # save $ra register to the stack
sw $fp, 24($sp) # save $fp register to the stack
addu $fp, $sp, 28 # set $fp register to the end of the stack我只是不明白这怎么能帮我找到质数。任何有见地的人都会非常感谢!
发布于 2014-10-14 09:15:34
如果你熟悉Eratosthenes的筛子,你不需要递归来寻找素数。这种方法比使用递归简单得多,而且内存效率更高,而且不需要使用堆栈。
我不能帮助你“这将如何帮助我找到质数”,因为你从来没有指定你使用的是什么算法。
https://stackoverflow.com/questions/26290573
复制相似问题