hdu 5391 Zball in Tina Town(威尔逊定理)
2015-08-17 08:57
288 查看
题意:
求(n−1)!modn(n−1)!\mod n解析:
如果n为合数,显然答案为0.如果n为素数,那么由威尔逊定理可得答案为 n - 1
注意有个trick为 n = 4
注意:
判断素数可以用快速判素数的方法。mymy codecode
[code]#include <cstdio> #include <cstring> #include <algorithm> using namespace std; typedef long long ll; bool isPrime(int num) { if (num == 2 || num == 3) { return true; } if (num % 6 != 1 && num % 6 != 5) { return false; } for (int i = 5; i*i <= num; i += 6) { if (num % i == 0 || num % (i+2) == 0) { return false; } } return true; } ll n; int main() { int T; scanf("%d", &T); while(T--) { scanf("%lld", &n); if(n == 4) { puts("2"); continue; } if(isPrime(n)) printf("%lld\n", n-1); else puts("0"); } return 0; }
相关文章推荐
- 设置字符串中某些字符的特殊效果
- 通达OA 小飞鱼OA实施法:以项目管理的方式来推进工作流设计项目实施
- 普通程序猿的生存
- 线程小感
- 【零基础】CentOS 7 64位系统下编译Hadoop2.7.0
- hdu-5391 Zball in Tina Town 找规律(求素数)
- nyoj 14 会场安排问题
- 【bzoj3105】【cqoi2013】【新Nim游戏】【线性基+贪心】
- 利用ajax获取商品价格
- 08-13工作总结
- deeplearning库Caffe在windows下的配置
- Hard Code 4813
- HDOJ-1671-字典树
- TTL与RS-485电平转换芯片MAX485/MAX3485
- MAX13487E, MAX13488E半双工RS-485/RS-422收发器,带有自动选向控制
- mysql数据库主从同步过程详述
- 三种继承方式的区别
- C++强制转换类型
- 游戏展已经走向了它的终点,除非……
- vim常用快捷键