NEFU 梅森素数
来源:互联网 发布:细说php视频 百度云 编辑:程序博客网 时间:2024/04/27 18:43
点击打开链接
梅森素数
Time Limit 1000ms
Memory Limit 65536K
description
由于梅森学识渊博,才华横溢,为人热情以及最早系统而深入地研究2p-1 型的数(其中p为素数),为了纪念他,数学界就把这种数称为“梅森数”;并以Mp 记之(其中M为梅森姓名的首字母),即Mp=2p-1 。如果梅森数为素数,则称之为“梅森素数”。 比如p=2,3,5,7时,Mp 都是素数,但211-1 不是素数 。现在请你求出前N个梅森素数。
input
有多组测试数据。第一行是一个正整数T,表示测试数据的组数。接下来每组1个数p的值,这里2<= p <= 62。
output
对于每组测试数据,判断Mp 是不是梅森素数,是就输出“yes ”,否就输出“no”,输出后要换行。
sample_input
227
sample_output
yesyes
Lucas-Lehmer判定法则。
//684k1ms#include<stdio.h>long long data[66];long long multi(long long a,long long b,long long m)//a*b%m{ long long ret=0; while(b>0)//乘法换成加法 { if(b&1)ret=(ret+a)%m; b>>=1; a=(a<<1)%m; } return ret;}int main(){ long long sum,tmp; int n,p; data[1]=4; scanf("%d",&n); while(n--) { scanf("%d",&p); sum=1; sum<<=p; sum-=1; //printf("%lld\n",sum); for(int i=2;i<=p-1;i++) { tmp=multi(data[i-1],data[i-1],sum); data[i]=(tmp-2)%sum; } if(p==2)printf("yes\n"); else { if(data[p-1]==0)printf("yes\n"); else printf("no\n"); } } return 0;}
0 0
- NEFU 梅森素数
- NEFU 120 梅森素数
- nefu 120 梅森素数
- NEFU 120 梅森素数
- nefu 120——梅森素数
- 【Eternallyc】nefu-120-梅森素数
- nefu 120 梅森素数 Lucas-Lehmer判定法
- Nefu 120 梅森素数【miller-rabin素性测试】
- nefu 120 梅森素数 Lucas-Lehmer判定法
- nefu 120 梅森素数 【Lucas-Lehmer】【miller_rabin】
- NEFU 120 梅森素数(梅森数素数判定--Lucas-Lehmer测试判定)
- 梅森素数:nefu 120 梅森素数(卢卡斯—莱默判别法+大数乘积取模)
- 6通宵教室-开关灯 与 120梅森素数 nefu
- nefu 120 Lucas-Lehmer 梅森素数判别法 二分-大数乘法换加法
- NEFU 641 素数树
- nefu 394 素数价值
- NEFU 组合素数
- NEFU 119 组合素数
- android系统键盘开关
- Robotium-5.0.1-源代码解析(3)—By
- Linux-6-文件权限和目录
- java虚拟机内存管理机制(一):JVM内存管理总结【分享】
- javascript——touch事件介绍与实例演示
- NEFU 梅森素数
- 文件上传利器SWFUpload使用指南
- 策略模式
- Git详解之二 Git基础
- JAVA的Date类与Calendar类【转】
- log4j appender 配置说明
- c++和面向对象的笔试题
- 进程间通信
- 2014 最流行的编程语言