잡아둔다고 풀릴 것인가 과연
알고리즘이 풀리지 않는다...
소수를 반환하는 문제가 이해가 되지 않아서
진도가 계속 delay되고 있다.
그래도 정답을 보면서 대충 넘어가고 싶지 않아서 힘들더라고 고민해보고 있다.
# Q. 정수를 입력 했을 때, 그 정수 이하의 소수를 모두 반환하시오.
# 소수는 자신보다 작은 두 개의 자연수를 곱하여 만들 수 없는 1보다 큰 자연수이다.
# 20이 입력된다면, 아래와 같이 반환해야 합니다!
# [2, 3, 5, 7, 11, 13, 17, 19]
input = 20
def find_prime_list_under_number(number):
prime_num = []
for i in range(2, number):
if number % i == 0:
continue
else:
prime_num.append(i)
number -= 1
return prime_num
result = find_prime_list_under_number(input)
print(result)
지금 나의 상태..
일단 소수는 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수다.
예를 들어, 5는 1×5 또는 5×1로 수를 곱한 결과를 적는 유일한 방법이 그 수 자신을 포함하기 때문에 5는 소수
20보다 아래의 수 중에서 소수만을 뽑는 문제인데
1과 20은 짝을 맞춘 소수이기 때문에 제외하고
나머지 2~19까지 1과 나를 제외한 수로 나누었을 때 나머지가 1일 경우에는 소수!!
나머지가 0일 경우에는 소수가 아닌 것으로 확인해야 된다고 생각했다.
금요일부터 토요일까지 끙끙 머리를 싸매고 생각해보았는데 이제 이렇게 글로 작성해서 원리를 이해해보니 지금에서야 이해가 되어버렸다..
'내일배움캠프 > Today I Learned' 카테고리의 다른 글
[내배캠] 나의 열두번째 회고록 (0) | 2022.11.15 |
---|---|
[내배캠] 나의 열한번째 회고록 (0) | 2022.11.14 |
[내배캠] 나의 아홉번째 회고록 (0) | 2022.11.10 |
[내배캠] 나의 여덟번째 회고록 (0) | 2022.11.09 |
[내배캠 회고록] 나의 일곱번째 회고록 (0) | 2022.11.08 |