[PYTHON] 소수찾기
<1~N까지 자연수중 소수찾기>
-
문제
N이 주어졌을 때 N이하의 자연수 중 소수를 출력해라
-
input 값
33
-> 1~33중 소수인 것을 출력해라
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
N = int(input()) # N=33 : 1~33중 소수인 것을 찾기. input()은 string이므로 int로 바꿔주어야 한다.
n=0 #찾은 소수의 개수를 알기위한 것
print(" 1부터 {}까지 소수 - ".format(N), end = ' ')
for i in range(2, N+1): #1은 당연히 소수가 아니므로 2부터 검사를 한다. 2 ~ N까지
boolean = True # 처음에 모든 숫자를 소수라고 해놓고, 검사를해보자.
for k in range(2, i): #자기자신(i)를 제외한다. 2 ~ i-1까지 반복
if i%k == 0: #자기자신(i)전까지 나눴을 때, 나누어 떨어진다면,
boolean = False # 소수가 아니다 -> false -> break : 더이상검사필요없음
break
if boolean is True: # boolean이 True 상태로 내려오면 소수라는 뜻이므로, 출력
print(i, end= ' ') # enter가 아니라 바로 옆에 출력하기위한 것이다.
n+=1 # 소수를 찾을 때마다 1씩 +하는 것이다.
print("\n 1부터 {}까지의 소수의 개수는 : {} 이다.".format(N,n))
|
cs |
-
결과값
1부터 33까지 소수 - 2 3 5 7 11 13 17 19 23 29 31
1부터 33까지의 소수의 개수는 : 11 이다.
-
배울코드
1. row 20 에서 중간마다 변수를 넣는것이 아니라,format함수를 사용하여 출력하였다.
2. row 11 : boolean값을 True로 두고 시작하여, 원하는 위치에서 boolean값을 바꾸어 소수를 출력한다.
>> 이런 방식이 코딩에서 많이 쓰이는 것같다. 의미없어보이는 T/F값을 선언해주어 원하는 값을 출력하는 것이다.
*)
어떤 피드백이든 댓글부탁드립니다.
더 좋은 방법이 있다면 알려주세요.
도움이 되셨다면, 하트버튼 또는 댓글부탁드려요~
요청할 문제가 있다면 댓글 부탁드려요!!!
*(
'python > 파이썬 예제' 카테고리의 다른 글
스도쿠가 정답인지 확인하는 코드 [#6] (0) | 2020.04.12 |
---|---|
파이썬 행의 합, 열의합, 최대값 구하는 함수[#5] (0) | 2020.03.21 |
파이썬 최빈값 구하시-dictionary 사용 [#4-1] (0) | 2020.03.18 |
[python example #3] 숫자 순으로 리스트 합치기(중복제거list 합치기) (0) | 2020.03.16 |
파이썬 문자열 거꾸로 출력하는 방법 [#1] (0) | 2020.03.15 |