原题
输入1:
3
2021 7 11
输出1:
77 22231 14147
输入2:
4
114 514 1919 810
输出2:
798956460 177200460 47462760 112445724
看完代码就懂了。
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define fir(i,a,n) for(int i=a;i<=n;i++)
const int N=1e5+10;
int n;
ll a[N];
ll aa[N],bb[N];
const int MOD=998244353;
int main()
{
cin>>n;
fir(i,1,n) cin>>a[i];
fir(i,1,n)
{
if(i==1) aa[i]=a[i];
else aa[i]=aa[i-1]%MOD*a[i]%MOD;
}
for(int i=n;i>=1;i--)
{
if(i==n) bb[i]=a[i];
else bb[i]=bb[i+1]%MOD*a[i]%MOD;
}
fir(i,1,n)
{
if(i==1) cout<<bb[2];
else if(i==n) cout<<" "<<aa[n-1];
else cout<<" "<<aa[i-1]%MOD*bb[i+1]%MOD;
}
return 0;
}