CPP(C++)に組込み可能な素数計算ライブラリ「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)素数はエラトステネスの篩のアルゴリズムを利用して素数テーブルを作成して求めています |
| (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の追加方法は こちら を参考にしてください |
| 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ビット)で作成しています。 |
| 次をダウンロードしてreadme.txtを参照の上利用してください。 |
| Prjalp2.zip←クリック |
| (1)ソフトの実行結果について作者は十分に検証していますが |
| 他者が実行した結果については保証しません。 |
| 利用者の責任において実行してください。 |
| (2)ソフトが不要になった場合 |
| stlalp2.lib,alpinc2.h,usralp5.cpp,usralp5.exeを全て削除してください。 |
| 履歴 |
| 2026.8.29(大安) 新規掲載 |
2026.8.29(大安) by BJ(Boke-Jisan)