【题目大意】

一个球初始体积为1,一天天变大,第一天变大1倍,第二天变大2倍,第n天变大n倍。问当第 n-1天的时候,体积变为多少。注意答案对n取模。

【题解】

根据威尔逊定理:(n-1)! mod n =-1

所以当n为质数时,答案就是n-1

否则答案显然是0

注意4要特判一下,ans[4]=2

这里有一种很魔性的判素数的方法,详见代码

 /*************
HDU 5391
by chty
2016.11.4
*************/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<ctime>
#include<cmath>
#include<algorithm>
using namespace std;
int T,cnt(),prime[];
inline int read()
{
int x=,f=; char ch=getchar();
while(!isdigit(ch)) {if(ch=='-') f=-; ch=getchar();}
while(isdigit(ch)) {x=x*+ch-''; ch=getchar();}
return x*f;
}
bool isprime(int x)
{
for(int i=;prime[i]*prime[i]<=x&&i<=cnt;i++) if(x%prime[i]==) return ;
return ;
}
int main()
{
freopen("cin.in","r",stdin);
freopen("cout.out","w",stdout);
T=read(); prime[]=;
for(int i=;i<=;i++) if(isprime(i)) prime[++cnt]=i;
while(T--)
{
int x=read();
if(x==) printf("2\n");
else if(isprime(x)) printf("%d\n",x-);
else printf("0\n");
}
return ;
}

最新文章

  1. MySQL 5.7 Command Line Client输入密码后闪退和windows下mysql忘记root密码的解决办法
  2. squid节点添加新域名测试
  3. 如何在 Eclipse 中连接源码
  4. Unity-Animator深入系列---剪辑播放后位置预判(Animator.Target)
  5. grep命令实战
  6. USB枚举过程(2)
  7. Winform 数据验证
  8. POJ 1013 Counterfeit Dollar 集合上的位运算
  9. oc结构
  10. BFC / hasLayout
  11. 常用的Linux操作命令(一)
  12. jQuery Lint: enables you to automatically inject jQuery Lint into the page as it is loaded (great for ad-hoc code validation)
  13. jQuery.validate 中文 API
  14. JAVA实现Shell排序
  15. IO多路复用之select
  16. 解析JSON、扩展Fiddler
  17. c语言构造类型之数组_01
  18. 终于理解kalman滤波
  19. 请求库-selenium 模块
  20. ECMAScript基础

热门文章

  1. MpVue开发之框架的搭建
  2. 【retina】手机上 1PX 边框
  3. [转载] ffmpeg摄像头视频采集-采集步骤概述并采集一帧视频
  4. 神奇的TextField(2)
  5. C++之内存管理
  6. 串口通信(C#实践)
  7. c# 统计运行时间
  8. 【1】基于quartz框架和Zookeeper实现集群化定时任务系统
  9. 关于ORM,以及Python中SQLAlchemy的sessionmaker,scoped_session
  10. 真正明白c语言二级指针