HDU-6608-Fansblog(威尔逊定理+快速乘)(多校)
Then T line follows, each contains a positive prime number P (1e9≤p≤1e14)
#include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<queue> #include<stack> #include<set> #include<map> #include<vector> #include<cmath>typedef long long ll; using namespace std; int prime[10000005]; bool vis[10000005]; int cnt =0; void erla() {memset(vis,false,sizeof(vis));memset(prime,0,sizeof(prime));for(int t=2; t<=10000003; t++) {if(!vis[t]) {prime[cnt++]=t;}for(int j=0; j<cnt&&t*prime[j]<=10000003; j++) {vis[t*prime[j]]=true;if(t%prime[j]==0) {break;}}} } inline ll ksc(ll x,ll y,ll mod) {return (x*y-(ll)((long double)x/mod*y)*mod+mod)%mod; } ll ksm(ll x,ll y,ll mod) {ll ans=1;while(y){if(y&1){ans=ksc(ans,x,mod);}x=ksc(x,x,mod);y>>=1;}return ans; } bool isprime(ll x) {for(int t=0;t<cnt&&prime[t]<x;t++){if(x%prime[t]==0){return false;}}return true; } int main() {int T;cin>>T;erla();while(T--){ll n;scanf("%lld",&n);ll ans=1;for(ll t=n-2;t>=2;t--){if(isprime(t)){break;}ans=ksc(ans,ksm(t,n-2,n),n);//cout<<ans<<endl; }printf("%lld\n",ans);} return 0; }
转载于:https://www.cnblogs.com/Staceyacm/p/11265302.html
HDU-6608-Fansblog(威尔逊定理+快速乘)(多校)相关推荐
- hdu 6608 Fansblog 威尔逊定理+大数阶乘取模
传送门 题意:给出一个质数P,找出小于P的最大的质数N,求出N的阶乘模P.(P∈[1e10,1e14]) 思路:威尔逊定理:一个数n若是质数, 则有 (n−1) ! ≡ n−1mod n. 于是可以先 ...
- HDU 6608 FansBlog(粉丝博客)(MillerRabin算法+威尔逊算法)
Farmer John keeps a website called 'FansBlog' .Everyday , there are many people visited this blog.On ...
- 威尔逊定理 ---- [hdu-6608] Fansblog 威尔逊定理 质数的密度分布 快速乘优化快速幂防止中间爆longlong
题目链接 题目大意:就是给你一个质数P∈[2,1e14]P\in[2,1e14]P∈[2,1e14]求一个质数Q<PQ<PQ<P解出Q!modPQ!modPQ!modP 解题思路: ...
- 「hdu6608」Fansblog 威尔逊定理
「hdu6608」 Fansblog 今天回顾之前多校联赛的题目:Fansblog ,发现一件有趣的事情,快速积的时间复杂度,比普通*快多了,刚才一直Tle 在用了普通*,卧槽这也能T,当然也有乘法爆 ...
- HDU 6608 Fansblog——————大素数检测
Fansblog 点击题目查看题面 点击这里也可以 Source 2019 Multi-University Training Contest 3 给你一个素数PPP 让给你求最接近P的素数QQQ 输 ...
- HDU 6608 Fansblog(随机素数测试+思维)
传送门 不得不说这种倒着除回去的想法真的是太绝了. 至于大数的素性测试,也是板子,没什么好说的. #include<bits/stdc++.h> #define int long long ...
- HDU 6608 [2019 Multi-University Training Contest 3]
Fansblog Problem Description Farmer John keeps a website called 'FansBlog' .Everyday , there are man ...
- 三个重要的同余式——威尔逊定理、费马小定理、欧拉定理 + 求幂大法的证明
一.威尔逊定理 若p为质数,则 p|(p-1)!+1 亦:(p-1)! ≡ p-1 ≡ -1(mod p) 例题: HDU 2973 YAPTCHA (威尔逊定理及其逆定理) 解题报告见http:// ...
- 【HDU 6608】Fansblog(威尔逊定理+逆元+快速乘+快速幂)
题目:点击打开题目链接 题意:输入一个素数 P,找出 P 的前一个素数,并求出 ! mod P的值.(1e9≤ P ≤1e14) 思路: 1.首先找出Q.因为自然数是由素数.合数.1和0组成的,并且数 ...
最新文章
- macos 全局快捷键 打开 iterm_MouseInc – 完全免费的全局鼠标手势增强工具 | 马小帮...
- 校招容易踩雷?这份“避雷针”指南拿走不谢
- Android三个Version的作用
- visual studio 2017 和qt 编译 bitcon源代码
- python如何自动打印_利用Python每天自动打印练习题
- opencv24-直方图比较
- Java回文数.如12321,123454321(5个数)
- 苹果在中国设立首个App设计开发加速器
- layui框架的优缺点
- 执行计算机查错程序,计算机 每次启动过程中总会执行磁盘检查CHKDSK,什么问题???怎么处理??...
- 火山引擎战略初现,字节跳动打造To B服务双引擎?
- WCF BasicHttpBinding 安全解析(3)默认安全设置(IIS宿主)
- 月薪11.5K 土木人零基础转行软件测试工程师,他都经历了什么?
- 电脑查询ip地址的方法,第一种最为简单
- 简单hbase java,Hbase 简单java API 操作
- SQL:postgresql查询、删除名字中包含某些字段的视图
- 利用BIRT ReportEngine API开发报表
- 光纤通信(邱昆、王晟版)课后答案
- 读书:编码——隐匿在计算机软硬件背后的语言上
- 英国内政部(Home Office)间谍机构(spy powers)假装它是Ofcom咨询中的一名私人公民1525446049260...
热门文章
- CSS转换动画与移动web
- java.lang.IllegalArgumentException: Not an entity: class
- arm linux源更新,[Linux] - Manjaro ARM 系统配置(更新镜像源,安装 Docker 和 Dotnet Core)...
- 分形几何python代码_Python, Cython绘制美妙绝伦的Mandelbrot集, 曼德博集分形图案
- oracle的空间字段、空间函数,空间数据类型
- 使用MMDetection训练自己的数据集
- 提示:Run-time error ‘339’:Cmponent 'MSCOMCTL.OCX'or one of its dependent..........的时候该怎么办?
- Kali Linux入门教程(非常详细)从零基础入门到精通,看完这一篇就够了。
- 【超全超详细】2W字零基础黑客学习路线,知识体系(附学习路线图)
- 《青山翠影》玖 独行的时代 | 去程归程