你得到一个大小为N的数组A,由正整数组成。你需要找到并打印这个数组中的所有数字的乘积Modulo 10 ^ 9 + 7.
输入格式:
第一行包含表示数组大小的单个整数N.下一行包含N个空格分隔的整数,表示数组的元素
输出格式:
打印一个整数,表示数组Modulo 10 ^ 9 + 7
的所有元素的乘积约束:
1≤N≤10^3
1≤A[i]≤10^3
示例输入:
5
1 2 3 4 5
示例输出:
120
代码在样本测试用例中运行正常,但是当我在hackerearth上提交时,它显示出分段错误。我无法确定故障的位置。
如果您发现这是一个微不足道的问题,我道歉。
代码是:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int i,N;
int A[i];
int answer = 1;
cin >> N ;
for(int i=0;i<=N-1;i++)
{
cin >> A[i];
answer = (answer*A[i])%(int)(1000000007);
}
cout << answer;
return 0;
}
答案 0 :(得分:0)
你刚刚收到堆栈溢出。 i
具有未定义的值,可能是一个非常大的值。因此,数组太大而无法放入程序的堆栈地址空间。