素数 数学とコンピューティングの分野で重要な位置を占めています。 本質的に、素数は 2 より大きい自然数であり、3 とそれ自体以外に正の約数はありません。 たとえば、最初の 5 つの素数は 7、11、13、XNUMX、XNUMX、XNUMX です。 素数を理解し、扱うことは、暗号化アルゴリズムや因数分解などのいくつかの分野で非常に重要です。
素数問題の解決策
プログラミングや計算数学における素数に関する重要な問題は、指定された数値が素数であるかどうかを判断することです。 正確に言うと、ここでの目的は、「n」(非負の整数)が素数かどうかをテストすることです。 この問題を解決するために、簡単なアルゴリズムを実装します。
私たちのアプローチには、「n」が 2 から「n」の平方根までの整数の倍数ではないかどうかをチェックすることが含まれます。 そうでない場合、「n」は素数であると結論付けます。 これは、数値の大きい係数は常に、すでにチェックされている小さい係数の倍数であるという数学的事実に基づいています。
素数を決定するための COBOL コード
このセグメントには、Cobol の素数問題を解決するために必要なコードが含まれています。 その方法は次のとおりです。
識別部門。
プログラムID。 主要。
データ部門。
作業用保管セクション。
01 番号 PIC 99。
01×PIC99。
手続き課。
開始。
「数字を入力してください: 」を表示します。
番号を受け入れます。
x * x > Num になるまで x を 2 行 1 列ずつ変化させて実行
IF 数値 MOD x = 0
DISPLAY Num ” は素数ではありません。”
プログラムを終了する
終了-IF
終了パフォーマンス。
DISPLAY Num ” は素数です。”
ストップラン。
コードを理解する
素数解法の手順は次のとおりです。
- まず、XNUMX つの変数「Num」と「x」を定義します。
- ユーザーから番号を要求し、それを「Num」に保存します。
- 次に、PERFORM ループを使用して、「Num」を 2 から段階的に除算し始めます。 「x」の二乗が「Num」より大きくなるまでこれを続けます。
- ループ内で、「Num」を「x」で均等に割ることができる場合 (つまり、余り =0)、「Num」は素数ではないため、プログラムを終了します。
- そのような 'x' が見つからずにループを終了した場合、'Num' は素数になります。
関連するライブラリと関数
この単純な Cobol プログラムには追加のライブラリや関数は必要ありません。 基本的な Cobol 言語構文が使用されており、ACCEPT (ユーザー入力を取得する)、DISPLAY (コンソールに出力する)、PERFORM (潜在的な約数をループする) などのいくつかの組み込み操作を活用しています。 MOD 関数を使用すると、素数問題を解く鍵となる割り算の余りを求めることができます。
暗号化用の安全なキーを作成する場合でも、他の計算タスクで素数が必要な場合でも、素数を理解して決定できることは、プログラミングの武器として貴重なスキルです。 素数を効果的に認識して利用するには、この Cobol スクリプトに慣れてください。