この投稿は Java の素数についてです。素数とは、1 とその数自体でのみ割り切れる数の一種です。他の数字では割り切れません。素数は特別な種類の数です。数値の例外は 1 と 2 です。1 は素数でも合成でもない唯一の数値です。 2 は自然界で唯一の偶数素数です。素数の反対は、その数自体以外の数や単位でも割り切れる数です。合成数と素数は反対の数です。一般に、素数は 2 を除いて奇数です。奇数は 3 やその他の奇数で割り切れる可能性があるため、必ずしも素数であるとは限りません。
以下は Java で素数を実装する例です:
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
最初のコーディング例では、数値が素数かどうかを確認します。まず、Buffered Reader Stream 入力を使用して番号を入力します。次に、その数値が 1 とその他の数値を除く他の数値で割り切れるかどうかをチェックする for ループがあります。 for ループは 2 から始まり、それぞれの数値の半分までループが続きます。次に、数値が任意の数値で割り切れるかどうかを報告する変数があり、これはループの一部です。コードとループの一部を以下に示します。数値を入力し、その数値が素数であるかどうかに関係なく出力を返します。プログラムでは、java.io.* がインポートされるため、次のコード行に入力/出力操作が表示されます。また、IOException が発生した場合は、別の方法で処理されます。 main の宣言の後に throws IO Exception コマンドを指定しました。これは、入出力操作中に発生する例外をスローします。それ以外にも、プログラムを読んでいる人が理解できるように、プログラム内で意味のある名前が使用されています。
コード:
import java.io.*; public class Prime { public static void main(String[] args) throws IOException { BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); System.out.println("ENTER A NUMBER TO CHECK IF IT IS PRIME OR NOT"); int num= Integer.parseInt(br.readLine()); boolean count = false; for(int i = 2; i <= num/2; ++i) { // condition for nonprime number if(num % i == 0) { count = true; break; } } if (!count) System.out.println(num + " is a prime number."); else System.out.println(num + " is not a prime number."); } }
出力:
コードの説明: 出力では、入力された数値が素数かどうかがわかります。まず、素数かどうかを確認するための数値として 29 を入力します。 29 は 1 の数とその数自体でしか割り切れないので、素数であることがわかります。それを除いて、他の数では割り切れません。
次に、別の数値を入力して、その数値が素数かどうかを確認します。数値として 58 を入力し、その数値が素数かどうかを確認します。最後に、58 は素数ではなく合成数であることがわかります。 1と数自体を除いて、2、29で割り切れる偶数です。
コーディング例では、数値が素数かどうかをチェックするために While ループを使用する方法を見ていきます。 for ループと同じロジックを使用しますが、プログラムについては異なる見解を持っています。
コード:
import java.io.*; public class PrimeNumber { public static void main(String[] args)throws IOException { BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); System.out.println("ENTER A NUMBER TO CHECK IF IT IS PRIME OR NOT"); int num= Integer.parseInt(br.readLine()); int i = 2; boolean count = false; while(i <= num/2) { // condition for nonprime number if(num % i == 0) { count = true; break; } ++i; } if (!count) System.out.println(num + " is a prime number."); else System.out.println(num + " is not a prime number."); } }
出力:
コードの説明: サンプル出力では、2 つの奇数を入力して、数値が素数かどうかを確認します。 71 と 37 を 2 つの数字として入力し、最終的に両方の数字が 1 とその数字自体でしか割り切れないため、素数であることがわかります。
このコーディング例では、数値の範囲内の素数をチェックします。最小値を 20、最大値を 50 と入力し、その範囲内の素数を見つけます。これは非常に簡単なプログラムで、min 変数と max 変数を変更するだけで、min 変数と max 変数の間の素数を見つけることができます。以下にコーディング例を示します。
コード:
import java.io.*; public class PrimeRange { public static void main(String[] args) { int min = 20, max = 50; while (min < max) { boolean count = false; for(int i = 2; i <= min/2; ++i) { // condition for nonprime number if(min % i == 0) { count = true; break; } } if (!count) System.out.print(min + " "); ++min; } } }
出力:
コードの説明: 上記のコードでは、20 から 50 までの素数の数を求めます。単位とその数自体でのみ割り切れる数を求めます。素数である数値は、23、29、31、37、41、43、および 47 です。このコードでは、単一の for ループを使用し、それぞれの for ループ制御変数による数値の割り算をチェックするために使用されます。割り切れる数は合成数、割り切れない数は素数です。
この記事では、for ループと while ループを使用して素数が動作する様子を確認します。また、ある範囲内に存在する素数も見ます。 for ループと while ループを使用して素数をチェックするロジックはほぼ同じです。したがって、素数のチェックは非常に簡単です。ループ制御変数は、数値が素数かどうかを確認する上で非常に重要な要素です。
以上がJava の素数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。