본문 바로가기

C#

C# - 소수인지 아닌지 판별하는 알고리즘!

반응형

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//[?] 특정수를 입력받아서, 소수인지 아닌지 판별하는 프로그램
// - 5는 소수 : 1과 5만을 약수로 가짐
// - 6은 소수가 아님 : 1과 6만이 아닌 추가로 2와 3을 약수로 가짐
// - 2부터 해당 수 까지 나머지 값을 구해서 나머지 값이 0일때 나눈 수가 해당 수라면 그 때는 소수다
namespace _20200718_소수구하기
{/// <summary>
/// 소수(Prime Number) : 자연수 중에서 1과 자신만을 약수로 가지는 자연수
/// </summary>
    class PrimeNumber
    {
        static void Main()
        {
            // [1]input
            Console.WriteLine("정수를 입력하세요  ");
            var number = int.Parse(Console.ReadLine());

            // [2]process
            var i = 1;
            do
            {
                i++; //아! 여기서 무조건 1+가 되어 버리니까 i는 2부터 while에서 작동되네!
                Console.WriteLine($"{number} % {i}={number%i }");
            } while (number%i!=0);

            // [3]output
            if (number == i)
            {
                Console.WriteLine("소수");
            }
            else
            {
                Console.WriteLine("소수 아님");
            }
        }
    }
}

 

 

 

do while 문을 활용하여 process 를 작성해 보았다.

반응형