国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > C > 正文

使用C# 判斷給定大數是否為質數的詳解

2020-01-26 16:13:40
字體:
來源:轉載
供稿:網友
C#判斷給定大數是否為質數,目標以快速度得到正確的計算結果。
在看到這道題的時候,第一反應這是一道考程序復雜度的題,其次再是算法問題。
我們先來看看質數的規則:
Link:http://en.wikipedia.org/wiki/Prime_number
C#求質數代碼:
復制代碼 代碼如下:

public bool primeNumber(int n){
             int sqr = Convert.ToInt32(Math.Sqrt(n));
             for (int i = sqr; i > 2; i--){
                 if (n % i == 0){
                     b = false;
                 }
             }
             return b;
         }

顯然以上代碼的程序復雜度為N
我們來優化下代碼,再來看下面代碼:
復制代碼 代碼如下:

public bool primeNumber(int n)
         {
             bool b = true;
             if (n == 1 || n == 2)
                 b = true;
             else
             {
                 int sqr = Convert.ToInt32(Math.Sqrt(n));
                 for (int i = sqr; i > 2; i--)
                 {
                     if (n % i == 0)
                     {
                         b = false;
                     }
                 }
             }
             return b;
         }

通過增加初步判斷使程序復雜度降為N/2。
以上兩段代碼判斷大數是否質數的正確率是100%,但是對于題干
  1.滿足大數判斷;
  2.要求以最快速度得到正確結果;
顯然是不滿足的。上網查了下最快算法得到準確結果,公認的一個解決方案是Miller-Rabin算法
Link:http://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test
Miller-Rabin 基本原理是通過隨機數算法判斷的方式提高速度(即概率擊中),但是犧牲的是準確率。
Miller-Rabin 對輸入大數的質數判斷的結果并不一定是完全準確的,但是對于本題來說算是一個基本的解題辦法了。
Miller-Rabin C# 代碼:
復制代碼 代碼如下:

public bool IsProbablePrime(BigInteger source) {
             int certainty = 2;
             if (source == 2 || source == 3)
                 return true;
             if (source < 2 || source % 2 == 0)
                 return false;

             BigInteger d = source - 1;
             int s = 0;

             while (d % 2 == 0) {
                 d /= 2;
                 s += 1;
             }

             RandomNumberGenerator rng = RandomNumberGenerator.Create();
             byte[] bytes = new byte[source.ToByteArray().LongLength];
             BigInteger a;

             for (int i = 0; i < certainty; i++) {
                 do {
                     rng.GetBytes(bytes);
                     a = new BigInteger(bytes);
                 }
                 while (a < 2 || a >= source - 2);

                 BigInteger x = BigInteger.ModPow(a, d, source);
                 if (x == 1 || x == source - 1)
                     continue;

                 for (int r = 1; r < s; r++) {
                     x = BigInteger.ModPow(x, 2, source);
                     if (x == 1)
                         return false;
                     if (x == source - 1)
                         break;
                 }

                 if (x != source - 1)
                     return false;
             }

             return true;
         }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
国产成人综合亚洲欧美在| 国产永久免费| 国产精品777一区二区| 国产三级视频在线| 亚洲视频日韩| 国产又色又爽又黄刺激在线视频| www在线免费观看视频| 国产视频1区| 免费看的av| av中文字幕在线看| 国产黄网站在线观看| 国产在线更新| 久久国产精品久久久久久小说| 国产福利图片| 国产福利在线播放麻豆| 精品卡1卡2卡三卡免费网站| 亚洲综合天堂网| av免费在线观看网站| 日本在线视频www鲁啊鲁| av在线免费播放网站| 免费特级黄毛片| wwww亚洲| 国产一区二区三区美女秒播| eeuss影影院www在线播放| 国产成人天天5g影院| 中文资源在线官网| www555久久| 午夜国产视频| 精品久久久久一区二区三区| 亚洲xxxxxx| 日本中文字幕在线视频| 国产精品久久人| www.亚洲视频| 国产视频xxx| 日本高清中文字幕二区在线| www.久草.com| www.夜夜操| 综合蜜桃精品| eeuss影院在线观看第一页| 久久精品视频免费看| 国产高清免费视频| 超碰国产在线观看| 国产jizz| 国产区av在线| 天天操天天是| 免费在线高清av| ·天天天天操| 国产青青视频| 黄网在线免费| 日韩不卡高清| 一区二区精品区| 欧美a免费在线| 在线观看视频污| 国产日韩网站| 久久久久久91精品色婷婷| 国产激情视频在线| 国产精品入口免费麻豆| 欧美卡一卡二| 懂色av中文在线| 欧美亚洲天堂| 麻豆精品免费视频入口| 日韩不卡高清| gogo在线观看| 麻豆av电影在线观看| 国产在线一二三| 国产精品蜜臀| 国产叼嘿网站免费观看不用充会员| 国产精品美女一区二区三区四区| 国产高清大尺度一区二区不卡| 精品剧情v国产在线观看| 亚洲精品自拍区在线观看| 久久精品亚洲7777影院| 国产一卡2卡3卡4卡网站免费| 国产福利在线播放麻豆| 青草在线视频在线观看| 国产色a在线观看| а√天堂8资源在线官网| 国内a∨免费播放| 国产高清在线| 秋霞av在线| 69视频在线| 国产福利免费在线观看| 精品麻豆国产| 亚洲精品aaaa精品| **三级三级97片毛片| 国产麻豆精品视频一区二区 | 亚洲成av人影片在线观看 | 国产精品入口麻豆电影| 男女羞羞视频在线观看| 欧美成人精品福利网站| 国产在线高潮| 国产精品免费麻豆入口| 国产麻豆视频网站| 国产午夜三区视频在线| 国产福利在线观看| 国产aa视频| 国产天堂在线| 在线国产91| 日本免费视频www| а√资源新版在线天堂| 麻豆电影传媒二区| 操操操综合网| 最近最好的中文字幕2019免费| 激情综合网五月激情| 国产在线黄色片| 男人操女人免费网站| 香蕉视频网站在线播放| 亚洲最新永久观看在线| 麻豆电影传媒二区| 国产日本在线| 青青草视频免费在线观看| 就爱干草视频| 免费av不卡在线观看| 国产三级在线看| 国产精品ⅴa有声小说| 日本视频二区| 国产三线在线| 黄网在线免费| 国产精品视频流白浆免费视频| 夜夜操com| 国内a∨免费播放| jizz国产| 国产美女视频一区二区二三区| 中文字幕欧美日韩在线不卡| 97视频网站| 国产一级黄色大片| 国产激情99| 国产精品午夜久久久久久| 96精品视频| 国产精品久久久久久福利| 精品视频一二三| 国产区成人精品视频| 国产乱妇乱子在线播视频播放网站| 国产女人在线观看| www亚洲天堂| 国产激情视频一区二区| 中文字幕一区二区三区免费视频| 91精品专区| 高清av中文在线字幕观看1| 在线中文字幕观看| 国产爆初菊在线观看免费视频网站| 好吊日视频在线观看| 国产福利视频在线观看| 黄色国产网站在线观看| a视频在线播放| а√最新版在线天堂| av中文字幕在线看| a视频在线播放| 国产日韩欧美一区二区三区视频| 免费看的毛片| 国产99re66在线视频| 中文字幕在线观看播放| 天堂中文在线视频| 免费影视观看网站入口| 国产综合视频一区二区三区免费| 久草在线视频网| 中文字幕专区| 日韩国产成人| 最近中文字幕mv免费高清电影 | 欧美日韩亚洲第一页| 国产天堂资源| 精品国产一区二区三区四区阿崩| 精品视频麻豆入口| 中文字幕久热在线精品| 青草青在线视频| 1区2区视频| 亚洲精品乱码电影在线观看| 亚洲成av人影片在线观看| jizz一区二区三区| eeuss影院www在线播放| 免费一区二区在线观看| 国产免费黄网站| 91久久精品国产性色| 在线激情小视频| 国产男女无套在线播放| 影音先锋在线中文字幕| 国产69久久| 就爱干草视频| 黄色av免费在线| 国产夫妻视频| 成人欧美精品久久久久影院| 欧美精品se| 亚洲免费国产| 91欧洲在线视精品在亚洲| 青青艹在线视频| 激情综合丁香| 九九在线观看免费视频| 精品一区二区三区在线成人| 男人操女人免费网站| 国产精品白浆流出视频| 国产中文字幕在线| 思思99精品视频在线观看| 天天操天天曰| 91美女主播在线视频| 国产亚洲精品自在线观看| 青青草视频在线观看| 黄网在线免费| 成 人免费视频播放| xxx国产精品| www.99av|