핵심 : for (시작, 끝, step)
import sys
sys.stdin=open("input.txt", "r")
N = int(input())
a=[0]*(N+1)
cnt =0
# sum =0
for i in range(2, N+1):
if a[i]==0:
cnt = cnt +1
# sum = sum +i
for j in range(i+i, N+1, i): #핵심 i+i를 i로 변경해도 상관없다. 왜냐하면, 이미 소수를 카운팅을 했으니까.
a[j] = 1
print(cnt)
'파이썬 알고리즘 > 파이썬 알고리즘(사고력기르기)' 카테고리의 다른 글
9. 주사위 게임 (0) | 2022.11.01 |
---|---|
8. 뒤집은 소수→소수인지 판결하는 함수 def isPrime(x)★ (0) | 2022.10.31 |
6. 자릿수의 합 (0) | 2022.10.31 |
5. 정다면체 (0) | 2022.10.31 |
최소값 구하기 (0) | 2022.10.29 |