B. Marin and Anti-coprime Permutation
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Marin wants you to count number of permutations that are beautiful. A beautiful permutation of length nn is a permutation that has the following property:
gcd(1⋅p1,2⋅p2,…,n⋅pn)>1,gcd(1⋅p1,2⋅p2,…,n⋅pn)>1,
where gcdgcd is the greatest common divisor.
A permutation is an array consisting of nn distinct integers from 11 to nn in arbitrary order. For example, [2,3,1,5,4][2,3,1,5,4] is a permutation, but [1,2,2][1,2,2] is not a permutation (22 appears twice in the array) and [1,3,4][1,3,4] is also not a permutation (n=3n=3 but there is 44 in the array).
Input
The first line contains one integer tt (1≤t≤1031≤t≤103) — the number of test cases.
Each test case consists of one line containing one integer nn (1≤n≤1031≤n≤103).
Output
For each test case, print one integer — number of beautiful permutations. Because the answer can be very big, please print the answer modulo 998244353998244353.
Example
input
Copy
7 1 2 3 4 5 6 1000
output
Copy
0 1 0 4 0 36 665702330
Note
In first test case, we only have one permutation which is [1][1] but it is not beautiful because gcd(1⋅1)=1gcd(1⋅1)=1.
In second test case, we only have one beautiful permutation which is [2,1][2,1] because gcd(1⋅2,2⋅1)=2gcd(1⋅2,2⋅1)=2.
from calendar import c
import sys
import math
#import numpy as np
#sys.stdin = open("in.txt", "r")
T = int(input())
M= 998244353
for _ in range(T):
n= int(input())
if n%2==1:
print(0)
else:
a=math.factorial(n//2)%M
b=(a*a)%M
print(b)
#break
奇偶配对组合
本文解析了Codeforces B题“Marin and Anti-coprime Permutation”,介绍了如何计算特定条件下美丽的排列数量,并提供了代码实现。重点在于理解题目要求的排列属性及通过数学方法求解。
670

被折叠的 条评论
为什么被折叠?



