nefu120梅森素数
2021/7/30 23:37:36
本文主要是介绍nefu120梅森素数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
#include<iostream> #include<cstdio> using namespace std; typedef long long ll; const int maxn = 63; ll multi(ll a,ll b,ll mod_val)//实现a * b % mod_val的操作(大数乘法换成加法,否则直接乘会爆) { a = a % mod_val; b = b % mod_val; ll ans = 0; while(b) { if(b & 1) { ans = (ans + a) % mod_val; } b >>= 1; a = (a <<= 1) % mod_val; } return ans; } bool is_meiprime(ll n,int p) { ll t = 4; for(int i = 2; i <= p - 1; i ++)//求出R[p - 1] { t = (multi(t,t,n) - 2 ) % n ; } t %= n; if(t == 0)//素数:r_{p-1}\equiv 0(mod M_p) return true; return false; } int main() { int Tcase; scanf("%d",&Tcase); for(int ii = 1; ii <= Tcase; ii ++) { int p; scanf("%d",&p); if(p == 2)//当为2的时候需要特判 { cout << "yes" << endl; continue; } ll sum = 1; sum <<= p; sum --;//sum 为求出的梅森数 if(is_meiprime(sum,p)) cout << "yes" << endl; else cout << "no" << endl; } return 0; }
这篇关于nefu120梅森素数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-12百万架构师第十五课:源码分析:Spring 源码分析:SpringMVC核心原理及源码分析|JavaGuide
- 2025-01-11有哪些好用的家政团队管理工具?
- 2025-01-11营销人必看的GTM五个指标
- 2025-01-11办公软件在直播电商前期筹划中的应用与推荐
- 2025-01-11提升组织效率:上级管理者如何优化跨部门任务分配
- 2025-01-11酒店精细化运营背后的协同工具支持
- 2025-01-11跨境电商选品全攻略:工具使用、市场数据与选品策略
- 2025-01-11数据驱动酒店管理:在线工具的核心价值解析
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide