码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 5391 Zball in Tina Town(打表找规律)

时间:2015-08-16 02:04:39      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:

问题描述
Tina Town 是一个善良友好的地方,这里的每一个人都互相关心。
Tina有一个球,它的名字叫zball。zball很神奇,它会每天变大。在第一天的时候,它会变大11倍。在第二天的时候,它会变大22倍。在第nn天的时候,它会变大nn倍。
zball原来的体积是11。Tina想知道,zball在第n-1n1天时的体积对nn取模是多大呢?
Tina是一个蠢蠢的女孩子,当然不会算啦,所以她请你帮她算出这个答案呢。
输入描述
第一行一个正整数TT,表示数据组数
接下来TT行,每行一个正整数nn,意义如题面所述
T \leq 10^5,2 \leq n \leq 10^9T10?5??,2n10?9??
输出描述
对于每组数据,输出一个正整数,表示答案。
输入样例
2
3
10
输出样例
2
0

这题就是求 (n-1)!modn(n1)!  mod  n

如果nn为合数,显然答案为0.

如果nn为素数,那么由威尔逊定理可得答案为 n-1n1

注意有个trick为 nn = 4

打个表找找规律就好了。。。

技术分享
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<vector>
 5 #include<set>
 6 #include<map>
 7 #include<cmath>
 8 #include<stdlib.h>
 9 using namespace std;
10 int n;
11 
12 
13 int main()
14 {
15     int t;
16     scanf("%d",&t);
17     while(t--)
18     {
19         scanf("%d",&n);
20         
21         if(n==4)
22         {
23             printf("2\n");
24             continue;
25         }
26         int flag=0;
27         for(int i=2;i*i<=n;i++)
28         {
29             if(n%i==0)
30             {
31                 flag=1;
32                 break;
33             }
34         }
35         if(flag==0)
36           printf("%d\n",n-1);
37           else 
38             printf("0\n");
39     }
40     
41     return 0;
42 }
View Code

 

hdu 5391 Zball in Tina Town(打表找规律)

标签:

原文地址:http://www.cnblogs.com/UniqueColor/p/4733457.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!