我正在用 FORTRAN 编写一个有点特殊的程序。我只能使用整数变量,正如你所知,当你尝试计算大于 12 或 13 的阶乘时,你会遇到内存溢出。所以我编写了这个程序来避免这个问题:
http://lendricheolfiles.webs.com/codigo.txt
但是一些非常奇怪的事情正在发生。程序计算阶乘 4 或 5 次,然后给出内存溢出消息。我使用的是 Windows 8,我担心这可能是失败的原因,或者只是我做错了什么。
谢谢。
最佳答案
尝试使用运行时下标检查进行编译。在 Fortran 中,段错误通常是由下标错误或实际参数与虚拟参数之间(即过程调用中的参数与过程中声明的参数之间)不匹配引起的。我会通过浏览您的代码来大胆猜测您有下标错误 - 让编译器通过打开运行时下标检查来为您找到它。大多数 Fortran 编译器都将其作为编译选项。
附注您还可以使用已经编写的软件包进行类似的计算,例如 David Bailey 等人的任意精度算术软件,可在 Fortran 90 中使用 http://crd-legacy.lbl.gov/~dhbailey/mpdist/
关于memory - 使用整数变量在 FORTRAN 上计算阶乘。内存溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13826974/