본문 바로가기

에라토스테네스의 체2

[프로그래머스] 소수 찾기 문제 설명 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 1000000이하의 자연수입니다. 입출력 예 n result 10 4 5 3 입출력 예 설명 입출력 예 #1 1부터 10 사이의 소수는 [2,3,5,7] 4개가 존재하므로 4를 반환 입출력 예 #2 1부터 5 사이의 소수는 [2,3,5] 3개가 존재하므로 3를 반환 [python] def solution(n): prime = [False, False] +[True]*(n-1) for i in range(2, n+1) : if prime[i] : for j in range(i*2, n+1,.. 2020. 7. 5.
[알고리즘] 에라토스테네스의 체 #c언어 수학에서 에라토스테네스의 체는 소수를 찾는 방법이다. 알고리즘 설명.1. 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. 그림에서 회색 사각형으로 두른 수들이 여기에 해당2. 2는 소수이므로 오른쪽에 2를 쓴다. (빨강)3. 자기 자신을 제외한 2의 배수를 모두 지운다.4. 남아있는 수 가운데 3은 소수이므로 오른쪽에 3을 쓴다. (초록)5. 자기 자신을 제외한 3의 배수를 모두 지운다.6. 남아있는 수 가운데 5는 소수이므로 오른쪽에 5를 쓴다. (파랑)7. 자기 자신을 제외한 5의 배수를 모두 지운다8. 위의 과정을 반복하면 구하는 구간의 모든 소수가 남는다. 알고리즘 구현 (c언어) 배열에서 소수인칸에는 1, 소수가 아닌칸에는 0을 넣어 나중에 갯수를 세어 소수의 갯수를 구할것이다. 즉, .. 2018. 8. 17.