CPP(C++)に組込み可能な素数計算ライブラリ「Prjalp2」

1.Prjalp2の構成

stlalp2.lib              素数計算ライブラリ(STATICライブラリ)
alpinc2.h                ヘッダファイル(素数関数)
usralp5.cpp              サンプルプログラム(素数関数の利用)
usralp5.exe              実行プログラム(素数計算)
※stlalp2.lib,alpinc2.hはCPP(C++)に組込み可能な多倍長数値計算ライブラリ「Prjalp」に追加してます。
既存のstlalp.lib,alpinc.hをstlalp2.lib,alpinc2.hに置換え可能です。
サンプルプログラムの機能のみを利用したい場合はusralp5.exeを直に実行してください。

2.機能・性能

(1)素数計算関数をCPP(C++)に組込んで素数計算ができます。
(2)素数はエラトステネスの篩のアルゴリズムを利用して素数テーブルを作成して求めています
(3)判定可能な素数の最大値は素数テーブルに格納された「最大の素数^2未満」です。
(4)素数テーブルは確保した動的メモリに従って設定します
   メモリサイズ     素数の格納個数    最大の素数
         1MB            2244426      36699233
       10MB           19666469     367000681
     128MB          221397181    4697619557
   1280MB         1996760560   46976193791
(5)素数判定は素数テーブル上の素数で順に割って判定してます(決定的素数判定法)
(6)ライブラリ内容
    素数テーブルを作成、拡張する関数
    数値の素数判定
    素数検索
    数値の素因数分解
    64ビット超数値の四則演算
    メモリエリアの確保(WIN32APIを利用)
(7)補足
    1280MBの素数テーブル作成には5~6分を要します。
    必要であれば、1280MB超の素数テーブルの作成も可能です。
    利用するPCスペック(メモリサイズ)を考慮して試してみてください。
    stlalp2.libの追加方法は こちら を参考にしてください

3.実行環境

WINDOWS 11 (稼働確認した環境です)。
   Microsoft Visual Studio Community 2022 (64 ビット) - Version 17.12.3
   Microsoft Visual Studio Community 2026 (64 ビット) - Version 18.6.0
stlalp2.libはC++(64ビット)で作成しています。

4.ダウンロード

次をダウンロードしてreadme.txtを参照の上利用してください。
Prjalp2.zip←クリック
トップへ

特記事項

(1)ソフトの実行結果について作者は十分に検証していますが
他者が実行した結果については保証しません。
利用者の責任において実行してください。
 
(2)ソフトが不要になった場合
stlalp2.lib,alpinc2.h,usralp5.cpp,usralp5.exeを全て削除してください。
履歴
2026.8.29(大安) 新規掲載

2026.8.29(大安) by BJ(Boke-Jisan)