C# で素数を確認する
プログラミングでは、1
またはそれ自体以外の因数を持たない 1
より大きい正の整数を見つけるアルゴリズムを作成すると、素数が得られます。 このチュートリアルでは、C# で素数をチェックする 3つのソリューションを紹介します。
C#
で特定の範囲内の素数をチェックするためのユーザー入力
C# で特定の範囲内の素数を見つける最も効率的な方法は、for
ループと if
条件を使用してアルゴリズムを記述することです。 次の C# プログラムは、特定の範囲で素数を見つけるアルゴリズムを理解するのに役立ちます。
コード例
using System;
class PrimeNumber {
static void checkPrime(int InputN) {
int n = 0;
// algorithm to check prime number
for (int i = 2; i < (InputN / 2 + 1); i++) {
if (InputN % i == 0) {
n++;
break;
}
}
if (n == 0) {
Console.Write(InputN + " ");
}
}
static void Main(string[] args) {
Console.WriteLine("Enter a number to check prime numbers in the given range: ");
string iN = Console.ReadLine();
int iNum = Convert.ToInt32(iN);
Console.WriteLine("Prime numbers less than " + iNum + " are: ");
// loop for finding every prime number in the given range
for (int i = 2; i < iNum + 1; i++) {
checkPrime(i);
}
}
}
出力:
Enter a number to check prime numbers in the given range:
30
Prime numbers less than 30 are:
2 3 5 7 11 13 17 19 23 29
C#
で素数をチェックするには、isPrime
ブール値を使用する
isPrime
ブール値を使用して、ユーザーが入力した数値が素数かどうかを確認します。 素数の場合、isPrime
の値は true
になり、それ以外は false
になります。
これは試行分割と呼ばれ、for
ループと if-else
条件で構成されます。
コード例:
using System;
public class PrimeNumber {
public static void Main(string[] args) {
Console.WriteLine("Enter a number: ");
var n = int.Parse(Console.ReadLine());
bool isPrime = true;
for (var i = 2; i <= Math.Sqrt(n); i++) {
if (n % i == 0) {
isPrime = false;
break;
}
}
if (isPrime == true) {
Console.WriteLine("It's a prime number.");
} else {
Console.WriteLine("It's not prime number");
}
}
}
出力:
Enter a number: 19
It's a prime number.
for
ループは、n > 1
かつ n
が i
で割り切れない場合、整数 n
を素数として定義します。 for
ループの出力は、合成数または素数のいずれかになります。
if
条件は、n
が他の数で割り切れるかどうかをさらにチェックします。 割り切れる場合、isPrime
の値は false
になります。 それ以外の場合、true
。
for
ループを実行した後、isPrime
の値が true
の場合、数値は素数になります。
C#
で再帰を使用して素数をチェックする
C# で素数を見つけるためのネイティブ ソリューションです。 C# アルゴリズムは、2
から n - 1
までの数が n
を割り切れるかどうかをチェックします。
割り切れる数が見つかった場合、ユーザー定義の数は素数ではないため、n
を意味する false
を返します。
コード例:
using System;
class CheckPrime {
static int i = 2;
// checks if a number is prime
static bool isPrime(int n) {
// check this number
// you can modify this number or make the user set its value thorugh `Console.Readline();`
n = 7;
// corner cases
if (n == 0 || n == 1) {
return false;
}
// Checking Prime
if (n == i)
return true;
// base cases
if (n % i == 0) {
return false;
}
i++;
return isPrime(n);
}
static void Main() {
if (isPrime(35)) {
Console.WriteLine("It is a prime number.");
} else {
Console.WriteLine("It is not a prime number.");
}
}
}
出力:
It is a prime number.
Hassan is a Software Engineer with a well-developed set of programming skills. He uses his knowledge and writing capabilities to produce interesting-to-read technical articles.
GitHub