250x250
Link
๋‚˜์˜ GitHub Contribution ๊ทธ๋ž˜ํ”„
Loading data ...
Notice
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Data Science LAB

[Python] ์†Œ์ˆ˜ ์ฐพ๊ธฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„(Prime Number) ๋ณธ๋ฌธ

๐Ÿ Python/๊ธฐ์ดˆ

[Python] ์†Œ์ˆ˜ ์ฐพ๊ธฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„(Prime Number)

ใ…… ใ…œ ใ…” ใ…‡ 2022. 10. 30. 23:16
728x90

์†Œ์ˆ˜ : 1๊ณผ ์ž๊ธฐ ์ž์‹ ์„ ์ œ์™ธํ•˜๊ณ  ์ž์—ฐ์ˆ˜ ์ค‘ ์–ด๋–ค ์ˆซ์ž๋กœ๋„ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š๋Š” ์ˆซ์ž

ex) 2,3,4,7...

 

1. ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜

def primenumber(x):
    for i in range(2, x):	# 2๋ถ€ํ„ฐ x-1๊นŒ์ง€์˜ ๋ชจ๋“  ์ˆซ์ž
    	if x % i == 0:		# ๋‚˜๋ˆ ๋–จ์–ด์ง€๋Š”๊ฒŒ ํ•˜๋‚˜๋ผ๋„ ์žˆ์œผ๋ฉด False
        	return False
    return True

 

ํ•จ์ˆ˜ ์„ค๋ช… : ์ˆซ์žx๋ฅผ 2๋ถ€ํ„ฐ x-1๊นŒ์ง€์˜ ์ˆซ์ž๋กœ ๋ชจ๋‘ ๋‚˜๋ˆ„์–ด ๋‚˜๋ˆ  ๋–จ์–ด์ง€๋Š”๊ฒŒ ํ•˜๋‚˜๋ผ๋„ ์žˆ์œผ๋ฉด False๋ฅผ ๋ฐ˜ํ™˜, ๋‚˜๋ˆ  ๋–จ์–ด์ง€๋Š” ๊ฒƒ์ด ์—†์œผ๋ฉด True ๋ฐ˜ํ™˜

-> ์ˆซ์ž๊ฐ€ ์ปค์ง€๋ฉด ๋งค์šฐ ๋น„ํšจ์œจ์ ์ž„

 

 

2. ๋น ๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜

์ž์—ฐ์ˆ˜์˜ ์•ฝ์ˆ˜์— ์กด์žฌํ•˜๋Š” ์›๋ฆฌ ์‚ฌ์šฉ

ex ) 25์˜ ๊ฒฝ์šฐ, 25์˜ ์•ฝ์ˆ˜๋Š” 1, 5, 25์ด๋‹ค. 

- 1 x 25 = 25

- 5 x 5 = 25

- 25 x 1 = 25

1๊ณผ ์ž๊ธฐ ์ž์‹ ์„ ์ œ์™ธํ•œ ์•ฝ์ˆ˜๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด ์ œ๊ณฑ๊ทผ๊นŒ์ง€๋งŒ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค. 

์•ฝ์ˆ˜๋“ค์ด ๋Œ€์นญ์ ์œผ๋กœ ์ง์„ ์ด๋ฃจ๊ธฐ ๋•Œ๋ฌธ์—, 5๊นŒ์ง€๋งŒ ๋‚˜๋ˆ ๋–จ์–ด์ง€๋Š”์ง€ ํ™•์ธํ•˜๋ฉด ์†Œ์ˆ˜ ์ธ์ง€ ํŒ๋ณ„ ๊ฐ€๋Šฅํ•˜๋‹ค. 

 

import math

def primenumber(x):
    for i in range (2, int(math.sqrt(x) + 1):	# 2๋ถ€ํ„ฐ x์˜ ์ œ๊ณฑ๊ทผ๊นŒ์ง€์˜ ์ˆซ์ž
    	if x % i == 0:		# ๋‚˜๋ˆ ๋–จ์–ด์ง€๋Š” ์ˆซ์ž๊ฐ€ ์žˆ์œผ๋ฉด ์†Œ์ˆ˜๊ฐ€ ์•„๋‹˜
        	return False
    return True

์ž๊ธฐ ์ž์‹ ์˜ ์ œ๊ณฑ๊ทผ(๋ฃจํŠธ)๊นŒ์ง€ ํ™•์ธํ•œ ๋’ค, 

๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆซ์ž๊ฐ€ ์กด์žฌํ•˜๋ฉด False, ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆซ์ž๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด True ๋ฐ˜ํ™˜

 

-> ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๋ฌธ์ œ์— ์ž์ฃผ ์ถœ์ œ๋˜๋Š”๋ฐ ์‹œ๊ฐ„์„ ํšจ์œจ์ ์œผ๋กœ ์ค„์ผ ์ˆ˜ ์žˆ์Œ

728x90
Comments