Tetrahedron
题目大意:四面体,三个面是直角三角形,三条直角边随机处于[1,n]区间,求解直角顶点到地面距离的期望,最终分数用逆元表达
之后操作预处理打表计算
#include<iostream>
#include<cstdio>
using namespace std;
typedef long long ll;
const ll mod = 998244353;
ll F[6000005];
int T,n;
ll pow(ll a,ll b){
ll ans = 1;
for(;b;b >>= 1){
if(b & 1){
ans = (ans*a)%mod;
}
a = a*a%mod;
}
return ans;
}
int main(){
for(ll i=1;i<=6000000;i++){
F[i]=(pow(i*i%mod,mod-2)+F[i-1])%mod;
}
cin>>T;
while(T--){
scanf("%d",&n);
printf("%lld\n",3*F[n]%mod*pow(n,mod-2)%mod);
}
return 0;
}