怎樣生成大素數 32位計算機不能表示的大素數

時間 2022-04-02 12:25:15

1樓:匿名使用者

首先,得把要輸出的大素數定義為字元陣列,這樣才可以放足夠大的數。

接著把這個字串的長度+1除以2的長度即位數,如20+1的一半為10,再從0到10的10次冪之間進行判斷。當然得用到大數除的思想,即把大數從高位除到低位,這樣應該不難。通過餘數來判斷。

這樣就可以了。主要思想大概我認為是這樣。

2樓:匿名使用者

這個用字串也可以不過可能效率比較低.

還是推薦用類似陣列的容器.你後邊的size本身就是給裡面用來new的。

不過這個計算可能也很慢,畢竟驗證一個數是不是素數就不是一個快速的工作(有加密演算法都利用這個的)

但是演算法不難,需要過載幾個運算子,進行大數運算.

最後整個的地方就變成大數計算的問題了,你可以搜尋下,網上這個很多,acm 大數計算。

弄個大數計算的類,你就把那數當普通數用,不用考慮範圍了。

3樓:匿名使用者

無符號的長整型?

無符號的長整型長度是0~4294967295多加幾個……

申請記憶體區域加入數值

4樓:匿名使用者

首先,本人聽說dev c++可以無限的用long修飾。。。哈哈,很藝術。

其次,得用數論的知識來解答吧,本人數論不好,待答案學習。

怎樣把臺式電腦的32位系統換成64位的

愚喬啊 2 雖然魔法豬會為我們匹配系統,但是我們還可以自己選擇哦,這裡就選win764位旗艦版系統。 1 電腦作業系統分為32位和64位,64位系統不能在32位系基礎上直接升級,必須重新進行安裝。3 也可以用64位作業系統安裝光碟,電腦設定為光碟啟動,啟動後按照步驟進行安裝。4 64位作業系統的配置...

mysql裡的位函式是怎樣計算的(詳細計算過程)

mysql的位函式 就是將數字轉換成2進位制,各位求與。舉個例子29 15 結果是13。29的二進位制是11101,15的二進位制是1111,位運算 11101 01111 0110101101的十進位制是13。在oracle裡面是bitand nexpression1,nexpression2 引...

Excel裡怎樣計算學生成績優秀率

居綠柳喻寅 假如你的資料來源在b列100個資料,那麼先統計出優秀的個數,然後再統計出總個數,計算出優秀數佔總數的比例。函式如下 countif b2 b101,n count b2 b101 n為你要作為優秀分數的設定,然後把單元格格式設定為百分比,一般選擇小數位數2位即可。 始霞賞婉 舉例 資料表...