P9774 [HUSTFC 2023] 新取模运算

题目描述

在这道题中,我们定义一个新的运算符号 $\oplus$ 并将其称为新取模运算。 当计算 $x \oplus y$ 时,如果 $x$ 不是 $y$ 的倍数,则得到 $x$ 除以 $y$ 的余数; 否则令 $x$ 不断除以 $y$ 直到 $x$ 不再是 $y$ 的倍数,假设它为 $x'$,然后得到 $x'$ 除以 $y$ 的余数。例如,$4\oplus 5=4$,$20\oplus 5=4$,$100\oplus 5=4$。 给定一个质数 $p$,接下来会有多组询问,对于每次询问会给出一个整数 $n$,你需要计算出 $n!\oplus p$ 的值。其中 $n!$ 是 $n$ 的阶乘,即所有小于等于 $n$ 的正整数的乘积。

输入格式

输出格式