原题链接 :https://nanti.jisuanke.com/t/26220
原题目用递归给出了关系式 t=t*(a+1),导出关系式,题目算是完成了99%;
由于数目较大,用cin和scanf的区别就有了。
超时代码:
#include <iostream> #include<algorithm> #include<cstdio> using namespace std; const int M=1000000007; int main() { int n,a; while(cin>>n) { long long t=1; for(int i=0; i<n; i++) { cin>>a; t*=(a+1); t%=M; } cout<<t<<endl; } return 0; }
AC代码 :
#include <iostream> #include<algorithm> #include<cstdio> using namespace std; const int M=1000000007; int main() { int n,a; while(scanf("%d",&n)!=EOF) { long long t=1; for(int i=0; i<n; i++) { scanf("%d",&a); t*=(a+1); t%=M; } printf("%lld\n",t); } return 0; }二者的效率有点差别 建议读入数据较多的时候,使用scanf和printf。