威尔逊定理
当且仅当p为素数时:( p -1 )! ≡ p-1 ( mod p )
题目是求(n-1)!mod n的值
如果是素数显然为n-1
除了4为2,其余的数都为0.
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <queue>
#include <math.h>
using namespace std;
int prime(int n)
{
for(int i=2;i*i<=n;i++)
if(!(n%i))
return 0;
return 1;
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
if(prime(n))
printf("%d\n",n-1);
else if(n==4)
printf("2\n");
else
printf("0\n");
}
}