最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言實現(xiàn)求梅森素數(shù)的代碼與解析

 更新時間:2018年12月05日 10:33:52   投稿:daisy  
這篇文章主要給大家介紹了關(guān)于利用C語言實現(xiàn)求梅森素數(shù)的代碼與解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

問題描述

梅森數(shù)(Mersenne Prime)指的是形如2n-1的正整數(shù),其中指數(shù)n是素數(shù),即為Mn。如果一個梅森數(shù)是素數(shù),則稱其為梅森素數(shù)。例如22-1=3、23-1=7都是梅森素數(shù)。

當n=2,3,5,7時,Mn 都是素數(shù),但n=11時,Mn=M11=211-1=2047=23X89,顯然不是梅森素數(shù)。

1722年,瑞士數(shù)學(xué)大師歐拉證明了231-1=2147483647是一個素數(shù),它共有10位數(shù),成為當時世界上已知的最大素數(shù)。

迄今為止,人類僅發(fā)現(xiàn)了47個梅森素數(shù)。梅森素數(shù)歷來都是數(shù)論研究中的一項重要內(nèi)容,也是當今科學(xué)探索中的熱點和難點問題。

試求出指數(shù)n<20的所有梅森素數(shù)。

問題分析

要編程求解的問題是找出指數(shù)n<20的所有梅森素數(shù)。根據(jù)梅森素數(shù)的定義,我們可以先求出n<20的所有梅森數(shù),再逐一判斷這些數(shù)是否為素數(shù)。如果是素數(shù),則表示該數(shù)為梅森素數(shù),打印輸出即可;否則不是梅森素數(shù)。

算法設(shè)計

要求出n<20的所有梅森數(shù),因此在本題的算法設(shè)計中需要釆用循環(huán)結(jié)構(gòu)。

設(shè)變量mp存儲梅森數(shù),整數(shù)i表示指數(shù),其取值從2〜19,i每變化一次,都相應(yīng)的計算出一個梅森數(shù),存放在mp中。對每次計算得到的當前mp值,都調(diào)用函數(shù)prime()進行判斷。

在判斷mp是否為素數(shù)時,可以定義一個函數(shù)prime(),每次都將mp的當前值作為實參傳遞給函數(shù)prime(),并判斷是否為素數(shù)。如果n為素數(shù),則prime()函數(shù)返回值為1,否則prime()函數(shù)返回值為0。

若prime()函數(shù)返回值為1,則當前mp為梅森素數(shù),應(yīng)該將其輸出;若prime()函數(shù)返回值為0,則當前mp不是梅森素數(shù)。

程序流程圖:

下面是完整的代碼:

​#include <math.h>
#include <stdio.h>
int prime(int n)
{
int i;
long k;
k=sqrt(n)+1;
for(i=2; i<=k; i++)
if(n%i == 0)
return 0;
return 1;
}
int main()
{
int mp, n=0, i;
printf("Mersenne Prime:\n");
for(i=2; i<=20; i++)
{
mp=pow(2,i)-1;
if( prime(mp) )
{
n++;
printf("M(%d)=%d", i, mp);
printf("\n");
}
}
printf("the number of Mersenne Prime less than 20 is:%d\n", n);

return 0;
}

運行結(jié)果:

Mersenne Prime:
M(2)=3
M(3)=7
M(5)=31
M(7)=127
M(13)=8191
M(17)=131071
M(19)=524287
the number of Mersenne Prime less than 20 is:7

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • C語言實現(xiàn)財務(wù)管理系統(tǒng)

    C語言實現(xiàn)財務(wù)管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)財務(wù)管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C語言中的分支循環(huán)其嵌套語句

    C語言中的分支循環(huán)其嵌套語句

    這篇文章主要介紹了C語言中的分支循環(huán)其嵌套語句,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • C語言實現(xiàn)酒店客房管理系統(tǒng)課程設(shè)計

    C語言實現(xiàn)酒店客房管理系統(tǒng)課程設(shè)計

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)酒店客房管理系統(tǒng)課程設(shè)計,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C++?數(shù)據(jù)結(jié)構(gòu)超詳細講解單鏈表

    C++?數(shù)據(jù)結(jié)構(gòu)超詳細講解單鏈表

    這篇文章主要介紹了C++數(shù)據(jù)結(jié)構(gòu)之單鏈表,鏈表是由一個個結(jié)點鏈結(jié)成的。結(jié)點包括數(shù)據(jù)域和指針域兩部分,數(shù)據(jù)域用來存儲數(shù)據(jù)元素的信息,指針域用來存儲下一個結(jié)點的地址,更詳細內(nèi)容請需要的小伙伴參考下面文章內(nèi)容
    2022-03-03
  • 淺析C++的特殊工具與技術(shù)

    淺析C++的特殊工具與技術(shù)

    以下是對C++中的特殊工具與技術(shù)進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • C++之智能指針初步及棄用auto_ptr的原因分析

    C++之智能指針初步及棄用auto_ptr的原因分析

    這篇文章主要介紹了C++之智能指針初步及棄用auto_ptr的原因分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • C++ Cartographer源碼中關(guān)于Sensor的數(shù)據(jù)走向深扒

    C++ Cartographer源碼中關(guān)于Sensor的數(shù)據(jù)走向深扒

    這篇文章主要介紹了C++ Cartographer源碼中關(guān)于Sensor的數(shù)據(jù)走向,整個Cartographer源碼閱讀是很枯燥的, 但絕對是可以學(xué)到東西的,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-03-03
  • C++解決TCP粘包的問題實現(xiàn)

    C++解決TCP粘包的問題實現(xiàn)

    本文主要介紹了C++解決TCP粘包的問題實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • C++ Opengl圖形顏色功能附源碼下載

    C++ Opengl圖形顏色功能附源碼下載

    這篇文章主要介紹了C++ Opengl圖形顏色功能附源碼下載,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • C語言數(shù)據(jù)的存儲超詳細講解上篇

    C語言數(shù)據(jù)的存儲超詳細講解上篇

    使用編程語言進行編程時,需要用到各種變量來存儲各種信息。變量保留的是它所存儲的值的內(nèi)存位置。這意味著,當您創(chuàng)建一個變量時,就會在內(nèi)存中保留一些空間。您可能需要存儲各種數(shù)據(jù)類型的信息,操作系統(tǒng)會根據(jù)變量的數(shù)據(jù)類型,來分配內(nèi)存和決定在保留內(nèi)存中存儲什么
    2022-04-04

最新評論

会宁县| 东丽区| 杂多县| 克什克腾旗| 齐齐哈尔市| 美姑县| 习水县| 柯坪县| 珠海市| 玉门市| 易门县| 京山县| 周至县| 云阳县| 西林县| 梧州市| 腾冲县| 福鼎市| 汽车| 平罗县| 亚东县| 越西县| 永泰县| 绩溪县| 满洲里市| 墨玉县| 平南县| 汾阳市| 南郑县| 兴和县| 柘荣县| 萨嘎县| 长海县| 南平市| 平安县| 镇江市| 柳江县| 唐山市| 东乌珠穆沁旗| 化德县| 商河县|