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 ...
随机推荐
- 关于windows下的虚拟机Homestead在推送代码上github 步骤
1.ssh 秘钥登录配置 使用以下命令检查主机是否生成SSH Key: > ls -al ~/.ssh 2.如果有秘钥,那就跳过这个步骤,如果没有秘钥,则运行以下命令来生成秘钥: ssh-key ...
- 2018-2019-2 《网络对抗技术》Exp0 Kali安装 Week1 20165320
下载源 Kali官网 下载安装过程是按照链接博客的操作完成的 虚拟机VMware安装Kali 安装成功截图 安装VM Tools 首先进入虚拟机,默认用户名为root,密码为安装过程中自己设置的. 在 ...
- Spring使用注解和struts集成
- Generative Adversarial Nets(原生GAN学习)
学习总结于国立台湾大学 :李宏毅老师 Author: Ian Goodfellow • Paper: https://arxiv.org/abs/1701.00160 • Video: https:/ ...
- box-cox 转换
box-cox 由于线性回归是基于正态分布的前提假设,所以对其进行统计分析时,需经过数据的转换,使得数据符合正态分布. Box 和 Cox在1964年提出的Box-Cox变换可使线性回归模型满足线性性 ...
- 深入理解linux内核v4l2框架之videobuf2【转】
转自:https://blog.csdn.net/ramon1892/article/details/8444193 Videobuf2框架 1. 什么是videobuf2框架? 它是一个针对多媒体设 ...
- vux安装中遇到的坑
1.输入 npm install vux --save 2.输入 npm install vux-loader --save-dev(没安装的时候,会一直报错) 3.build/webpack.bas ...
- insmod 时报错“Unknown symbol”问题的解决
在加载驱动模块时报错: “ Unknown symbol CFG80211_SupBandReInit (err 0)” 查看了内核代码以及加载上的symbol(命令为 cat /proc/kalls ...
- 电信运营商 IT 系统介绍
业务支撑系统 BSS: Business support system 运营支撑系统 OSS: Operation support system 管理支撑系统 MSS: Management Su ...
- Ubuntu下安装Golang并测试HelloWorld
Intel Core i5-8250U,Ubuntu 18.04(安装在虚拟机Oracle VirtualBox 5.2.12上),Go 1.11, 安装步骤如下: -进入Go文档官网: https: ...