hdu2973 YAPTCHA【威尔逊定理】
<题目链接>
题目大意:
The task that is presented to anyone visiting the start page of the math department is as follows: given a natural n, compute
where [x] denotes the largest integer not greater than x.
给出 t 和n,t代表样例组数,根据给出的n算出上面表达式。(注意:[x]表示,不超过x的最大整数)
解题分析:
首先,看到这种阶乘的形式,就很容易联想到威尔逊定理,这里的3*k+7就相当于定理中的p。威尔逊定理告诉我们:当且仅当p为素数时:( p -1 )! ≡ -1 ( mod p )。
所以,当p为素数时,(p-1)!+1 ≡ 0 (modp)。于是,不难看出,当3*k+7为素数时,An=1,不为素数时,An=0,,所以用前缀和记录一下1~n有多少个素数即可。
#include <cstdio>
#include <cstring> const int maxn=1e6+; int juge(int x)
{
x=*x+;
for(int i=;i*i<=x;i++)
if(x%i==)return false;
return true;
} int sum[maxn]; int main()
{
memset(sum,,sizeof(sum));
sum[]=;
for(int i=;i<=maxn;i++)
{
if(juge(i))sum[i]=sum[i-]+;
else
sum[i]=sum[i-];
}
int t;scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
printf("%d\n",sum[n]);
}
return ;
}
2018-07-31
hdu2973 YAPTCHA【威尔逊定理】的更多相关文章
- HDU2973(威尔逊定理)
YAPTCHA Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...
- hdu 2973"YAPTCHA"(威尔逊定理)
传送门 题意: 给出自然数 n,计算出 Sn 的值,其中 [ x ]表示不大于 x 的最大整数. 题解: 根据威尔逊定理,如果 p 为素数,那么 (p-1)! ≡ -1(mod p),即 (p-1)! ...
- YAPTCHA(HDU2973)【威尔逊定理】
威尔逊原理.即对于素数p,有(p-1)!=-1( mod p). 首先,将原式变形为[ (3×k+6)! % (3×k+7) + 1] / (3×k+7),所以: 1.3×k+7是素数,结果为1, 2 ...
- HDU2937 YAPTCHA(威尔逊定理)
YAPTCHA Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- 威尔逊定理--HDU2973
参考博客 HDU-2973 题目 Problem Description The math department has been having problems lately. Due to imm ...
- HDU 2973 YAPTCHA (威尔逊定理)
YAPTCHA Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- YAPTCHA UVALive - 4382(换元+威尔逊定理)
题意就是叫你求上述那个公式在不同N下的结果. 思路:很显然的将上述式子换下元另p=3k+7则有 Σ[(p-1)!+1/p-[(p-1)!/p]] 接下来用到一个威尔逊定理,如果p为素数则 ( p -1 ...
- HDU - 2973:YAPTCHA (威尔逊定理)
The math department has been having problems lately. Due to immense amount of unsolicited automated ...
- hdu2973-YAPTCHA-(欧拉筛+威尔逊定理+前缀和)
YAPTCHA Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
随机推荐
- 第18月第16天 statusBar
1. 我们都知道要改状态栏statusBar的颜色很简单,只要如下一行代码就可以, [[UIApplicationsharedApplication]setStatusBarStyle:UIStatu ...
- Shiro+Spring+SpringMVC+Mybatis整合
Demo源码地址,v1.0分支 https://github.com/jxjy/hr
- how tomcat works
本文中只是提取了每个模块的关键部分,具体技术细节只能通过看代码来掌握. 1.socket .serversocket tcp通信 2.servlet init destory process(req, ...
- vc++调用exe获取输出信息
目的 调用命令行程序,返回结果. 思路 把命令行结果输入到管道中,exe的输出信息都存在了strOutput这个变量里. 实现代码 CString strCmd = L"yara64.exe ...
- windows下caffe GPU版本配置
由于项目需要,所以在自己本子上配置了一下windows下GPU版本的caffe; 硬件: win10 ; gtx1070独显(计算能力6.1): 安装软件: cudnn-8. ...
- C语言函数调用栈(二)
5 函数调用约定 创建一个栈帧的最重要步骤是主调函数如何向栈中传递函数参数.主调函数必须精确存储这些参数,以便被调函数能够访问到它们.函数通过选择特定的调用约定,来表明其希望以特定方式接收参数.此外, ...
- Linux动态频率调节系统CPUFreq之一:概述【转】-- 非常好的博客
转自:http://blog.csdn.net/droidphone/article/details/9346981 目录(?)[-] sysfs接口 软件架构 cpufreq_policy ...
- oracle查询重复数据方法
SQL重复记录查询方法 2008年08月14日 星期四 21:01 SQL重复记录查询 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peop ...
- java.sql.SQLException: ORA-28040: 没有匹配的验证协议(12c或者12c rac)
1.plsql可以连接,java程序不能连接,报如下错误: 一直以来用的都是服务器上的Oracle数据库,今天改成连接本地Oracle 12c数据库是出问题了.hibernate连接Oracle12c ...
- 功率 dbm 和 mw 的换算
射频知识; 功率/电平(dBm):放大器的输出能力,一般单位为w.mw.dBm.dBm是取1mw作基准值,以分贝表示的绝对功率电平. 换算公式:电平(dBm)=10lgw5W → 10lg5000 ...