Input:
Input consists of several test cases. Each test case begins with an integer n. Then it's followed by n integers a[i].
0<n<=1000000
0<=a[i]<=10000
There are 100 test cases at most. The size of input file is less than 48MB.
Output:
Maybe you can just copy and submit. Maybe not.
样例输入
1 233 1 666
样例输出
234 667
题目链接:https://nanti.jisuanke.com/t/26220
解析:
1.就是把题目中的递归函数给分解出来,也就是递归转化为递推的过程。
2.假设n=3,有三个数分别是a,b,c。题目的意思是求1+a+b+c+ab+ac+bc+abc;化简后也就是(1+a)*(1+b)*(1+c);
#include<iostream>
#include<cstdio>
using namespace std;
long long M=1000000007;
long long MAXL=1000000;
long long a[1000000];
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
long long t=1;
for(int i=0;i<n;i++)
{
cin>>a[i];
t=t*(a[i]+1)%M; //或者t=(t+(t*a[i])%M)%M;
}
cout<<t;
}
return 0;
}