Zball in Tina Town
Accepts: 397
Submissions: 2463
Time Limit: 3000/1500 MS (Java/Others)
Memory Limit: 262144/262144 K (Java/Others)
问题描述
Tina Town 是一个善良友好的地方,这里的每一个人都互相关心。
Tina有一个球,它的名字叫zball。zball很神奇,它会每天变大。在第一天的时候,它会变大111倍。在第二天的时候,它会变大222倍。在第nnn天的时候,它会变大nnn倍。
zball原来的体积是111。Tina想知道,zball在第n−1n-1n−1天时的体积对nnn取模是多大呢?
Tina是一个蠢蠢的女孩子,当然不会算啦,所以她请你帮她算出这个答案呢。
输入描述
第一行一个正整数TTT,表示数据组数
接下来TTT行,每行一个正整数nnn,意义如题面所述
T≤105,2≤n≤109T \leq 10^5,2 \leq n \leq 10^9T≤105,2≤n≤109
输出描述
对于每组数据,输出一个正整数,表示答案。
输入样例
2
3
10
输出样例
2
0
<pre name="code" class="cpp">#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#define LL int
using namespace std;
bool su(LL n)
{
for(int i=2; i*i<=n; i++)
{
if(n%i==0)
return false;
}
return true;
}
int main()
{
LL n,m,i;
LL cla;
scanf("%d",&cla);
while(cla--)
{
scanf("%d",&n);
if(n==2)//前两个进行情况的特判
{
printf("1\n");
}
else if(n==3||n==4)
{
printf("2\n");
}
else if(su(n))//一个数如果为质数(素数)则(n-1)!%n=n-1
{
printf("%d\n",n-1);
}
else
{
//printf("**");
printf("0\n");//若为合数(除1外能被其他数整除)则(n-1)!%n=0
}
}
return 0;
}