求梅森素數
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
long int t,n,l,Mn,i,j,k,a;
scanf("%d",&n);
if(n>=2)
{ printf("M(2)=3\n");
for(i=3;i<=n;i++)
{
t=1;
for(j=2;j<i;j++)
if(i%j==0) t=0;
if(t)
{k=pow(2,i)-1; a=1;
for(l=2;l<k;l++)
{
if(k%l==0)
{ a=0; continue;}}
if(a) printf("M(%d)=%ld\n",i,k);
}}}
return 0;
}
相關推薦
求梅森素數
#include<stdio.h> #include<string.h> #include<math.h> int main() { long int t,n,l,Mn,i,j,k,a; scanf("%d",&n); if(n>=2
求梅森數
梅森數:形如2∧n-1的素數稱為梅森數( Mersenne Number)。 例如2∧2-1=3、2∧3-1=7都是梅森數。1722 年,雙目失明的瑞士數學大師尤拉證明了2∧31-1=2147483647 是一個素數,堪稱當時世界上“已知最大素數”的一個記錄。輸人一個正整數n (n<20),程式設計輸出
梅森素數(JAVA BigInteger類)
如果一個數字的所有真因子之和等於自身,則稱它為“完全數”或“完美數” 例如:6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 早在公元前300多年,歐幾里得就給出了判定完全數的定理: 若 2^n - 1 是素數
梅森數 洛谷p1045
高精 左移 clu 了解 efi 第一次 for 一位 std 由於梅森數是一個巨大的數我們不能一個一個2來乘,由於只存最後五百位,我們就用高精乘的思想來做; 第一位算位數證明方式如下: 2?p 與 2?p-1具有相同位數,設2?p的位數等於k,我們知道10?n的位數為n+
求100以內素數的5中基本方法及其優化
其他 依然 都是 耗時 基本 for proc rime 數字 求100以內素數的5中基本方法及其優化方法1 基本做法 錯解比較:進入了小循環:有時加pass也可以。錯解:這裏的print也同樣註意不要寫到循環內。 註釋:1.兩種條件運用:為合數。2.以上錯誤點。方法二
梅森演算法生成隨機數的Python實現
import time class Util(object): def __init__(self): self.index = 624 self.MT = [0] * 624 def inter(self,t): return (0xFFFFFFFF
梅森算法生成隨機數的Python實現
urn func __init__ object set ret function obj int import time class Util(object): def __init__(self): self.index = 624 s
偽隨機數生成演算法-梅森旋轉(Mersenne Twister/MT)
今天主要是來研究梅森旋轉演算法,它是用來產生偽隨機數的,實際上產生偽隨機數的方法有很多種,比如線性同餘法, 平方取中法等等。但是這些方法產生的隨機數質量往往不是很高,而今天介紹的梅森旋轉演算法可以產生高質量的偽隨 機數,並且效率高效,彌補了傳統偽隨機數生成器的不足。梅森旋轉演算法的最長週期取自一個梅森素數
關於求N以內素數的python實現以及優化方法
一、素數的定義 質數(prime number)又稱素數,有無限個。除了1和它本身以外不再有其他的除數整除。從定義知道;1不是素數,最小的素數是2。 二、N以內素數常用實現方法 首先教科書寫法(暫時不做任何程式碼優化): import math def p
C語言求迴文素數程式碼及解析
問題描述 所謂迴文素數指的是,對一個整數n從左向右和從右向左讀其數值都相同且n為素數,則稱整數為迴文素數。 對於偶數位的整數,除了11以外,都不存在迴文素數。即所有的4位整數、6位整數、 8位整數…都不存在迴文素數。下面列出兩位和三位整數中包含的所有迴文素數。 兩位迴文素數:11 三位迴文素數:101
## 7-9 梅森數 (20 分)
7-9 梅森數 (20 分) 形如2^ n −1的素數稱為梅森數(Mersenne Number)。例如2^ 2 −1=3、2^ 3 −1=7都是梅森數。1722年,雙目失明的瑞士數學大師尤拉證明了2^ 31 −1=2147483
python filter 求100以內素數
python filter的用途: 從可迭代元素中過濾不想要的資料 或者說是留下想要的資料 經典題目:求100以內的素數 分析:題目無非就是從100元素中篩選滿足條件的資料,這不正是python 過濾器的應用場景嗎? def find(x): for i
python 判斷素數以及高效求n以內素數
1、判斷是否是素數 def isPrime(n): if n <==1: return False i = 2 while i * i <= n: if n % i == 0:
python 求100以內素數
def is_prime(n): if n == 1: return False for i in range(2, n//2 + 1): i
【python】求100以內素數/質數和
import math def is_prime(n): # 簡化問題,先利用函式判斷是否為質數 if n == 1: # =是賦值,==才是判斷,切記切記 return False for i in range(2, int(math
Python 求1000以內素數
先構造從3開始的奇數數列def _odd_iter(): n=1 while True: n=n+2 yield n判斷函式def _not_divisible(n): return lambda x: x
Python編寫求100以內素數
注:本文所使用的方法都是從math 包裡面匯入進來sqrt函式,那麼也可以只匯入math包,但是應用sqrt函式時需要寫成math.sqrt() 方法一: from math import sqrt x=2 while x<=100: k=sqrt(x)
python3練習題--求質數(素數)
題目:求100以內的質數(素數)。 程式碼: #!/usr/bin/python3 import math l = [ ] for a in range(1,100): for b in ra
C語言求迴文素數
1.問題描述 所謂迴文素數指的是,對一個整數n從左向右和從右向左讀其數值都相同且n為素數,則稱整數為迴文素數。對於偶數位的整數,除了11以外,都不存在迴文素數。即所有的4位整數、6位整數、 8位整數…都不存在迴文素數。下面列出兩位和三位整數中包含的所有迴文素數。兩位迴文素
演算法-----求n以內素數(質數)
求n以內素數(質數)。 java版 這道題看到一眼就能想到一個for迴圈,對每個數取餘,如果==0,說明能除斷,就不是素數(質數)。 1、如果用上面的方法去做,當n小的時候,沒什麼,當n資料大的時候,效率就是一個問題,做了很多無用判斷。 改進: 1、所有的偶數都不是