문제 설명
약수가 3개 이상인 수를 합성수라고 합니다. 매개변수로 자연수 n이 주어지면 n보다 작거나 같은 합성수의 수를 반환하는 solve 함수를 완성하십시오.
제한
- 1 ≤ n ≤ 100
I/O 예시
| N | 결과 |
| 10 | 5 |
| 15 | 8일 |
I/O 예시 설명
I/O 예제 #1
10 아래에는 4, 6, 8, 9, 10의 5개의 합성수가 있습니다. 따라서 5를 반환합니다.
I/O 예제 #2
15 아래에는 8개의 합성수가 있습니다: 4, 6, 8, 9, 10, 12, 14, 15. 따라서 8을 반환합니다.
코드
def solution(n):
num = ()
count = 0
for i in range(2,n+1):
for j in range(1,i+1):
if i % j == 0 :
num.append(i)
if num.count(i) >=3:
count += 1
return count
포인트
i를 j로 나눈 나머지가 0이면 double for 문을 사용하여 num에 i를 더하고 num의 개수가 3보다 크면 count에 1을 더합니다.