Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- httpCode
- Algorithm
- 코딩테스트
- 그래프
- mongoDB
- 수열
- 마크다운
- 코딩문제
- NoSQL
- 백준
- Markdown
- 몽고DB
- 기초
- 마크다운문법
- 그리디알고리즘
- 코테
- 데이터베이스
- 그리디
- db
- 데이터
- chatGPT
- 알고리즘기초
- 파이썬
- 소수
- 탐색알고리즘
- 수학
- 인프콘2024
- database
- 알고리즘
- Python
Archives
- Today
- Total
Dev_from the Bottom
#12. Algorithm08_python) 소수 판별 본문
문제) 소수 판별
1보다 큰 임의의 정수를 입력받아 소수를 판별하라
step1) 테스트 : ex) 10, 11
# 입력받은 수가 10이라 가정
answer = "소수"
for i in range(2, 10):
# 2부터 10-1까지 나누어지는지 확인
if 10 % i == 0: # 2부터 시작해서 나누어지는 수가 있으면 소수 아님
answer = "소수 아님"
print(answer)
>>>
소수 아님
# ===========================================
# 입력받은 수가 11이라 가정
answer = "소수"
for i in range(2, 11):
if 11 % i == 0:
answer = "소수 아님"
print(answer)
>>>
소수
step2) 정답 출력 ex) 10, 11
# 입력받은 수가 10이라 가정
n = 10
answer = "소수"
for i in range(2, n):
# 2부터 n-1까지 나누어지는지 확인
if n % i == 0:
answer = "소수 아님"
break # 소수가 아님이 판단되면 break로 빠져나옴
print(f'{n} : {answer}')
>>>
10 : 소수 아님
# ============================================
# 입력받은 수가 11이라 가정
n = 11
answer = "소수"
for i in range(2, n):
# 2부터 n-1까지 나누어지는지 확인
if n % i == 0:
answer = "소수 아님"
break # 소수가 아님이 판단되면 break로 빠져나옴
print(f'{n} : {answer}')
>>>
11 : 소수
step3) 메서드화
def algo08(n):
answer = "소수"
for i in range(2, n):
if n % i == 0:
answer = "소수 아님"
break
return f'{n} : {answer}'
print(algo08(7))
print(algo08(11))
print(algo08(20))
>>>
7 : 소수
11 : 소수
20 : 소수 아님
step4) 최종
def algo08(n):
answer = "소수"
for i in range(2, n):
if n % i == 0:
answer = "소수 아님"
break
return f'{n} : {answer}'
n = int(input("소수 판별 n 입력 : "))
print(algo08(n))
>>>
소수 판별 n 입력 : 10
10 : 소수 아님
# 배운점
- for문 내, break 사용하여 리소스 낭비 방지
# 소회
- 가장 간단한 수학 알고리즘 문제
'Algorithm_study' 카테고리의 다른 글
#14. Algorithm10_python) 최대공약수, 최소공배수 (0) | 2022.05.16 |
---|---|
#13. Algorithm09_python) 소수의 합 (0) | 2022.05.14 |
#11. Algorithm07_python) 피보나치 수열의 합 (0) | 2022.05.12 |
#10. Algorithm06_python) 수열 1!+2!+3!+4!+5!+...+10!의 합계 (0) | 2022.05.11 |
#9. Algorithm05_python) 1+2+4+7+11+16+22+...의 순서로 나열되는 수열의 20번째 항까지의 합계 (0) | 2022.05.10 |
Comments