clamp
Clamp
clamp
글쓰기 관리
전체 방문자
오늘
어제
  • 분류 전체보기 (509)
    • IOS (85)
    • SwiftUI+TCA+Combine (9)
    • RxSwift + MVVM (56)
    • Clean Architecture (12)
    • SWIFT (56)
    • iOS - TDD (2)
    • 디자인패턴 (4)
    • CS (56)
      • 알고리즘 (29)
      • 운영체제 (15)
      • 자료구조 (2)
      • 네트워킹 (4)
      • 기타 (6)
    • 회고 (0)
    • Firebase (18)
    • SwiftUI (10)
    • iOS - UIKit (11)
    • iOS - 오픈소스 (6)
    • 코딩테스트 (166)
      • 프로그래머스 (164)
    • 정보처리기사 (14)
    • GitHub (2)
글쓰기 / 관리자

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • uikit
  • ㅅ
  • Q
  • Swift

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
clamp

Clamp

CS/알고리즘

알고리즘 - 에라스토스테네스 체(소수찾기)[Swift]

2023. 2. 2. 12:52

에라스토스테네스 체

소수를 찾는 알고리즘이다.

0 ~ 3000 범위의 소수를 찾는다고 할경우 n = 3000이 된다.

우선 n+1개의 불리언 배열을 생성해야 한다. n개를 생성할 경우 0을 포함하기 때문에 2999까지 만들어져서 인덱스를 벗어나게된다.

만약 자기 자신이 이미 false처리 되었다고 하면 pass를 하게되고

아닐 경우 i + i ~ n+1 까지 i씩 증가하면서 i의 배수(소수가 아닌 수)의 인덱스를 false 처리 하게된다

 

소스코드

let n = 3000
var isPrime = [Bool](repeating: true, count: n+1)
//0과 1은 소수가 아니다.
isPrime[0] = false
isPrime[1] = false

for i in 0...n{
	for j in stride(from: i+i, to: n+1, by: i){
        isPrime[j] = false
    }
}
저작자표시 비영리 동일조건 (새창열림)
    'CS/알고리즘' 카테고리의 다른 글
    • 알고리즘 - 유클리드호제법[Swift](최대공약수)
    • 알고리즘 - 조합(Conbinations) 구현[Swift]
    • 그래프, BSF 구현[Swift]
    • 알고리즘 - 그래프 탐색 알고리즘 구현(DFS)[Swift]
    clamp
    clamp
    주니어 iOS개발자의 발악!!!!!!!

    티스토리툴바