【HDU5391】Zball in Tina Town
2024-10-20 09:26:00
【题目大意】
一个球初始体积为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 ;
}
最新文章
- MySQL 5.7 Command Line Client输入密码后闪退和windows下mysql忘记root密码的解决办法
- squid节点添加新域名测试
- 如何在 Eclipse 中连接源码
- Unity-Animator深入系列---剪辑播放后位置预判(Animator.Target)
- grep命令实战
- USB枚举过程(2)
- Winform 数据验证
- POJ 1013 Counterfeit Dollar 集合上的位运算
- oc结构
- BFC / hasLayout
- 常用的Linux操作命令(一)
- jQuery Lint: enables you to automatically inject jQuery Lint into the page as it is loaded (great for ad-hoc code validation)
- jQuery.validate 中文 API
- JAVA实现Shell排序
- IO多路复用之select
- 解析JSON、扩展Fiddler
- c语言构造类型之数组_01
- 终于理解kalman滤波
- 请求库-selenium 模块
- ECMAScript基础