题意
见原题。
思路
需要分类讨论。
我们需要 $i \times p_i$ 的每一个值的奇偶性一样。
分奇偶两类看:
-
$n$ 为奇,会发现肯定有一个 $i \times p_i$ 是奇乘偶的形式,但是 $n$ 为奇数,所以一定不可能,输出 $0$。
-
$n$ 为偶,尝试让每一个奇数乘以偶数,这样所有的 $i \times p_i$ 的值都是偶数。
记得取模。
代码
#include<iostream>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
long long n,ans=1;
cin>>n;
if(n%2){cout<<"0\n";continue;}
for(int i=2;i<=n/2;i++){
ans*=i*i;
ans%=998244353;
}
cout<<ans<<endl;
}
}