Python, SQL - 소수인지 아닌지 확인하는 알고리즘, 구현 코드

반응형

 

소수

  • 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수

Python

# true : 소수
def is_prime(n):
    if n <= 1:
        return False
    for i in range(2, int(math.sqrt(n))+1):
        if n % i == 0:
            return False
    return True

SQL Server

/* Prime number check */
-- @isPrime = 1 : 소수
create function fn_check_prime_number(
	@number int
) returns tinyint
as begin
	-- check if the random number is prime
	declare @isPrime tinyint = 1
	declare @i int = 2

	while @i <= sqrt(@number) begin
		if @number % @i = 0 begin
			set @isPrime = 0
			return @isPrime
		end
		set @i = @i + 1
	end
	return @isPrime
end

확인

  • 13은 소수일까 아닐까?
    • true : 소수가 맞음

 

  • 12는 소수일까 아닐까?
    • false : 소수가 아님

반응형