核心问题就是那个等式

我们观察到等式可以写成(n-1)!-1/n-[(n-1)!/n]的形式,这样就应该联想到威尔逊定理了。

回顾一下威尔逊定理的内容:当且仅当n为素数的时候n|(n-1)!-1,n为合数且大于4的时候n|(n-1)!【参见威尔逊定理的证明】

对于这个等式,n显然是大于4的,那么如果n是一个合数,后一个就是一个整数,前一个就是这个整数加上一个1/n,向下取整以后就是0,如果n是一个素数,前一个为一个整数,后一个显然不可能为整数,比前一个小1/n,那么向下取整以后差为1

因此Sn的变化规律就是,如果是质数就加1,如果是合数加0

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<iostream>
#include<cmath>
#include<ctime>
#include<climits>
#include<queue>
#include<vector>
#include<set>
#include<map>
using namespace std;typedef long long ll;
const int INF=0x3f3f3f3f;
const int MAXN=3e6+50;
int prime[MAXN];
bool check[MAXN];
int ans[MAXN];
int tot=0;void creat_prime()
{for(int i=2;i<MAXN;i++){if(!check[i]) prime[tot++]=i;for(int j=0;j<tot && prime[j]*i<MAXN;j++){check[prime[j]*i]=true;if(i%prime[j]==0) break;}}
}void init()
{int limit=1e6+5;for(int i=1;i<limit;i++){if(!check[3*i+7]) ans[i]=ans[i-1]+1;else ans[i]=ans[i-1];}
}int main()
{creat_prime();init();int T,n;scanf("%d",&T);while(T--){scanf("%d",&n);printf("%d\n",ans[n]);}return 0;
}

HDU - 2973威尔逊定理相关推荐

  1. hdu 2973 YAPTCHA(C++)(威尔逊定理)

    hdu 2973 YAPTCHA 点击做题网站链接 题目描述 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (J ...

  2. HDU多校第三场6608 Fansblog(米勒罗宾+威尔逊定理)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=6608 题目说给你一个1e9−1e14的素数p,让你找到比p小的最大素数q,求q!mod  p的值题目说 ...

  3. hdu 6608 Fansblog 威尔逊定理+大数阶乘取模

    传送门 题意:给出一个质数P,找出小于P的最大的质数N,求出N的阶乘模P.(P∈[1e10,1e14]) 思路:威尔逊定理:一个数n若是质数, 则有 (n−1) ! ≡ n−1mod n. 于是可以先 ...

  4. 【HDU 6608】Fansblog(威尔逊定理+逆元+快速乘+快速幂)

    题目:点击打开题目链接 题意:输入一个素数 P,找出 P 的前一个素数,并求出 ! mod P的值.(1e9≤ P ≤1e14) 思路: 1.首先找出Q.因为自然数是由素数.合数.1和0组成的,并且数 ...

  5. HDU 6608:Fansblog(威尔逊定理)

    Fansblog Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Subm ...

  6. 三个重要的同余式——威尔逊定理、费马小定理、欧拉定理 + 求幂大法的证明

    一.威尔逊定理 若p为质数,则 p|(p-1)!+1 亦:(p-1)! ≡ p-1 ≡ -1(mod p) 例题: HDU 2973 YAPTCHA (威尔逊定理及其逆定理) 解题报告见http:// ...

  7. 7. 数论四大定理(威尔逊定理、欧拉定理、费马小定理、孙子定理)

    一.准备工作 点击查看数论基础知识 二.威尔逊定理 威尔逊定理给出了判定一个自然数是否为素数的充分必要条件.但是由于阶乘是呈爆炸增长的,其结论对于实际操作意义不大. 1. 定理及其变形 当且仅当p为素 ...

  8. 数论四大定理(欧拉定理、费马小定理、中国剩余定理、威尔逊定理)

    前置知识 同余 假设 a,ba,ba,b 都是整数,如果 nnn 是一个正整数,且存在整数 kkk 使得 a−b=k×na−b=k \times na−b=k×n,则称 a,ba,ba,b 模 nnn ...

  9. 杭电2019多校第三场 HDU-6608 Fansblog(威尔逊定理+素数间隔+逆元)

    威尔逊定理:在初等数论中,威尔逊定理给出了判定一个自然数是否为素数的充分必要条件.即:当且仅当p为素数时:( p -1 )! ≡ -1 ( mod p ),但是由于阶乘是呈爆炸增长的,其结论对于实际操 ...

最新文章

  1. 基于 EventBridge 构建 SaaS 应用集成方案
  2. 怎样 获取 ios的系统版本
  3. c语言扫描图片的坐标,tc 如何在指定坐标处 输出bmp图片??
  4. 2018.11.01 NOIP训练 cost数(搜索+容斥原理)
  5. html除左侧浮动,html清除浮动的6种方法示例
  6. 华为21级程序员月薪曝光:270k封神!众网友直呼长见识……
  7. oracle jdk_两个Oracle JDK的故事
  8. 安全是一个系统问题包括服务器安全,信息安全技术题库:除了应用程序功能,Web内容和功能枚举还需要关注( )。...
  9. HDU 1257 - 最少拦截系统
  10. linux3.10.53编译,根据官方文档在Linux下编译安装Apache
  11. FileStream StreamWriter StreamReader BinaryReader
  12. unity打开excel表格_unity创建编辑读取EXCEL文件表格数据游戏插件工具Uni-Excel 1.0
  13. python def函数参数_Python def函数的定义、使用及参数传递方法
  14. HTML5:移动互联网的第二个苹
  15. 问题杂谈:教你读懂UML图
  16. 英文单词缩写----DXNRY – Dictionary 字典
  17. python自带的程序编辑器有哪些菜单_python自带的编辑器是
  18. Linux的基本命令+深入一点的网址分享
  19. ESP-01 8266转接板改造
  20. python timesleep单位_python的time.sleep()有多准确?

热门文章

  1. ArrayAndString(数组和字符串)
  2. 其他团队对本团队评价的总结
  3. HttpClient使用之下载远程服务器中的文件(注意目录遍历漏洞)
  4. 当执行游戏0xc000007b错误的解决方法
  5. OpenSSL再曝CCS注入漏洞-心伤未愈又成筛子
  6. 删除了注册表winsock项及winsock2项怎么办
  7. Terrafugia希望在今年夏天带来真正可飞的Airplane
  8. file 选择的文件胖多有多大_如何删除 macOS 压缩包中的隐藏文件?
  9. iconfont 图标转为字体_iconfont字体图标的使用方法--超简单!
  10. C排序算法:(二)冒泡排序