c++语言数组的方法求n的阶乘对997取余
时间: 2024-04-08 16:29:15 浏览: 57
c++中求n的阶乘的程序
5星 · 资源好评率100%
你可以使用数组来存储中间结果,以减少重复计算。以下是使用C++编写的示例代码:
```c++
#include <iostream>
int factorialMod(int n) {
int result = 1;
int arr[998] = {0}; // 数组用于存储中间结果,下标对应数字
arr[0] = 1; // 0的阶乘为1
for (int i = 1; i <= n; i++) {
result = (result * i) % 997;
arr[i] = result;
}
return result;
}
int main() {
int n;
std::cout << "请输入一个整数n:";
std::cin >> n;
int result = factorialMod(n);
std::cout << n << "的阶乘对997取余的结果是:" << result << std::endl;
return 0;
}
```
在这个示例中,我们使用数组`arr`来存储每个数字的阶乘对997取余的结果。在循环中,我们首先计算当前数字的阶乘对997取余,并将结果存储在`result`变量中。然后,将该结果存储在数组`arr`中,以便在后续计算中可以直接使用,而不需要重复计算。
你可以通过输入一个整数n来测试该代码,并获得n的阶乘对997取余的结果。
阅读全文