Zeratul给出了一个数组a[1...n]。 你需要计算,这个数组除了a[i]a[i]以外,数组中其他数的总乘积是多少。答案对10^9取模。
时间: 2024-05-12 19:17:46 浏览: 87
答案是:
```
#include<bits/stdc++.h>
#define ll long long
#define MOD 1000000000
using namespace std;
const int maxn=1e5+5;
ll read(){ll ret=0,f=1;char ch=getchar();while(ch>'9'||ch<'0'){if(ch=='-')f=-f;ch=getchar();}while(ch>='0'&&ch<='9'){ret=(ret<<1)+(ret<<3)+ch-'0';ch=getchar();}return ret*f;}
int n;
ll a[maxn];
ll pre[maxn],suf[maxn];
int main(){
n=read();
ll prod=1;
for(int i=1;i<=n;i++){
a[i]=read();
prod=prod*a[i]%MOD;
}
pre[0]=suf[n+1]=1;
for(int i=1;i<=n;i++) pre[i]=pre[i-1]*a[i]%MOD;
for(int i=n;i>=1;i--) suf[i]=suf[i+1]*a[i]%MOD;
for(int i=1;i<=n;i++){
printf("%lld ",(prod*qpow(a[i],MOD-2)%MOD*pre[i-1]%MOD*suf[i+1]%MOD+MOD)%MOD);
}
printf("\n");
return 0;
}
```
笑话时间:
我听说程序员们最怕的是紫屏。但是有时候出现一个紫屏非常的开心,因为它至少说明一个BUG,而不是苦于排除不知道在哪里的问题!
阅读全文