Bestcoders 51 div2 1001

Zball in Tina Town

 
 Accepts: 356
 
 Submissions: 2463
 Time Limit: 3000/1500 MS (Java/Others)
 
 Memory Limit: 262144/262144 K (Java/Others)
Problem Description

Tina Town is a friendly place. People there care about each other.

Tina has a ball called zball. Zball is magic. It grows larger every day. On the first day, it becomes 11 time as large as its original size. On the second day,it will become 22times as large as the size on the first day. On the n-th day,it will become nn times as large as the size on the (n-1)-th day. Tina want to know its size on the (n-1)-th day modulo n.

Input

The first line of input contains an integer TT, representing the number of cases.

The following TT lines, each line contains an integer nn, according to the description. T \leq {10}^{5},2 \leq n \leq {10}^{9}T105,2n109

Output

For each test case, output an integer representing the answer.

Sample Input
2
3
10
Sample Output
2
0

/*In the name of god (^_^)*/
//#pragma comment(linker, "/STACK:1024000000,1024000000")
#include<cstdio>
#include<cmath>
#include<stdlib.h>
#include<map>
#include<set>
#include<time.h>
#include<vector>
#include<queue>
#include<string>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
#define eps 1e-8
#define PI acos(-1.0)
#define INF 0x3f3f3f3f
#define LL long long
#define max(a,b) ((a)>(b)?(a):(b))
#define min(a,b) ((a)<(b)?(a):(b))
typedef pair<int , int> pii;

int n;

int check(int x)
{
     int m = sqrt(x + 0.5);
     for(int i = 2; i <= m; i++)
        if(x % i == 0) return 0;

     return 1;
}

int main()
{
    int T;
    scanf("%d", &T);
    while(T--)
    {
        scanf("%d", &n);
        if(n == 4 || n == 3)
            printf("2\n");
        else if(n == 2)
            printf("1\n");
        else if(check(n))
        {
            printf("%d\n", n - 1);
        }
        else
        {
            printf("0\n");
        }
    }
    return 0;
}


你可能感兴趣的:(ACM,Bestcoders)