memory - 使用整数变量在 FORTRAN 上计算阶乘。内存溢出

标签 memory integer fortran overflow factorial

我正在用 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/

相关文章:

C 编程帮助 Int2String 方法

fortran - 两个字符串的串联不起作用

c - 使用 TCP 与 Fortran 进行进程间通信 (IPC)

c++ - 数组放置的析构函数 new

c - 分配数组元素值未按预期工作

javascript - 我正在测试 ArrayBuffer 并想知道为什么结果看起来像这样 :

c# - 如何通过 float 表示形式将 float 转换为 int?

c - calloc 和 malloc 可以分配多少内存?

c - 用C语言编写一个递归函数,将数字转换为字符串

快速计算R中的二重积分