Zball in Tina Town



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 HDU    5391   Zball in Tina Town(判素数)_Java time as large as its original size. On the second day,it will become HDU    5391   Zball in Tina Town(判素数)_#include_02times as large as the size on the first day. On the n-th day,it will become HDU    5391   Zball in Tina Town(判素数)_Java_03



Input



The first line of input contains an integer HDU    5391   Zball in Tina Town(判素数)_取模_04, representing the number of cases.

The following HDU    5391   Zball in Tina Town(判素数)_取模_04 lines, each line contains an integer HDU    5391   Zball in Tina Town(判素数)_Java_03, according to the description. HDU    5391   Zball in Tina Town(判素数)_取模_07



Output



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



Sample Input



2 3 10



Sample Output



2 0






题意:

Tina Town 是一个善良友好的地方,这里的每一个人都互相关心。
Tina有一个球,它的名字叫zball。zball很神奇,它会每天变大。在第一天的时候,它会变大11倍。在第二天的时候,它会变大22倍。在第nn天的时候,它会变大nn倍。
zball原来的体积是11。Tina想知道,zball在第n-1n−1天时的体积对nn取模是多大呢?
Tina是一个蠢蠢的女孩子,当然不会算啦,所以她请你帮她算出这个答案呢。





思路:因为(n-1)除了4以外的任何非素数都可以用小于他的数进行组合相乘得到,所以都为0,如果是素数的话因为没有小于他的其他数相乘得到,所以(n-1)%n == n-1   ,直接输出n-1
如果n等于4的话直接输出2




#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<string.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>

using namespace std;

int n;
int flag;

int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        flag = 0;
        scanf("%d",&n);
        if(n == 4)
        {
            printf("2\n");
            continue;
        }
        int m = sqrt(n-1);
        for(int i=2;i<=m;i++)
        {
            if(n%i == 0)
            {
                flag = 1;
                break;
            }
        }
        if(flag == 0)
        {
            printf("%d\n",n-1);
        }
        else
        {
            printf("0\n");
        }
    }
    return 0;
}