C#에서 소수 확인

Syed Hassan Sabeeh Kazmi 2023년10월12일
  1. C#에서 주어진 범위의 소수를 확인하기 위한 사용자 입력
  2. isPrime 부울을 사용하여 C#에서 소수 확인
  3. 재귀를 사용하여 C#에서 소수 확인
C#에서 소수 확인

프로그래밍에서 1을 제외한 다른 요소가 없는 1보다 큰 양의 정수를 찾는 알고리즘을 작성하거나 그 자체로 소수를 제공합니다. 이 자습서에서는 C#에서 소수를 확인하는 세 가지 솔루션을 알려줍니다.

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

isPrime 부울을 사용하여 C#에서 소수 확인

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이고 ni로 나누어지지 않는 경우 정수 n을 소수로 정의합니다. for 루프 출력은 합성수 또는 소수입니다.

if 조건은 n이 다른 숫자로 나눌 수 있는지 여부를 추가로 확인합니다. 나눌 수 있는 경우 isPrime의 값은 false가 됩니다. 그렇지 않으면 true입니다.

for 루프를 실행한 후 isPrime의 값이 true이면 숫자가 소수가 됩니다.

재귀를 사용하여 C#에서 소수 확인

C#에서 소수를 찾는 네이티브 솔루션입니다. C# 알고리즘은 2에서 n - 1 사이의 숫자가 n을 나누는지 확인합니다.

나누는 숫자를 찾으면 사용자 정의 숫자가 소수가 아니므로 n을 의미하는 거짓을 반환합니다.

코드 예:

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.
Syed Hassan Sabeeh Kazmi avatar Syed Hassan Sabeeh Kazmi avatar

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