본문 바로가기 메뉴 바로가기

yoo.dev

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

yoo.dev

검색하기 폼
  • 분류 전체보기 (212)
    • About (0)
    • TIL (12)
    • 이론공부 (4)
    • PS (112)
      • Python (112)
    • Flutter (1)
    • Android (76)
      • Kotlin (63)
      • Error Log (12)
    • 기록 (4)
      • 프로젝트 (2)
      • 생활 (1)
  • 방명록

소수 구하기 파이썬 (2)
소수 판별 이론 (에라토스테네스의 체, 골드바흐의 추측)

소수 자신보다 작은 두 개의 자연수를 곱하여 만들 수 없는 1보다 큰 자연수이다. (1과 본인 외의 약수가 없는 수) 가장 작은 소수는 2로, 유일한 짝수이다. 에라토스테네스의 체 (자연수 n까지의 소수 구하는 방법) 1. n+1개 크기의 배열 생성 후 True로 초기화 2. 최소 소수인 2부터 sqrt(n)까지 확인하면서 2-1. 소수인 경우(True), 본인보다 큰 (본인을 제외) 본인의 배수를 모두 False로 바꿔줌 3. 배열에서 소수인 애들의 인덱스를 0과 1을 제외하고 리턴 sqrt(n)까지만 확인하는 이유 n까지 해도 값의 차이는 없다. 다만, n을 소수에서 제외시킬 수 있는 약수는 sqrt(n)이하일 수 밖에 없기때문에 불필요한 연산을 없애 시간을 줄여준다. 예) n = 10 / n의 약수..

이론공부 2020. 12. 9. 02:11
[Python] 백준(BOJ) 1929번: 소수 구하기

문제 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 풀이 에라토스테네스의 체(yuuj.tistory.com/156)를 이용해서 풀 수 있는 문제. import sys def primelist(n): arr = [True for _ in range(n+1)] for i in range(2, (int(len(arr)**0.5)+1)): if arr[i]: for k in range(i+i, len(arr), i): arr[k] = False return arr m, n = map(int, sys.stdin.readline().split(" "..

PS/Python 2020. 12. 9. 01:51
이전 1 다음
이전 다음
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • TextFormField keyboard
  • 코틀린 데이터바인딩
  • 투포인터 알고리즘 파이썬
  • 안드로이드
  • 프로그래머스
  • 코틀린 바텀네비게이션
  • 카카오 키해시
  • Kotlin
  • 투포인터 알고리즘
  • 파이썬 최대공약수
  • 전화번호목록 파이썬
  • 코틀린 뷰바인딩
  • 코틀린 뷰페이저
  • 안드로이드 키해시
  • 백준 1644
  • 코틀린 리스트뷰
  • 안드로이드 카카오톡으로 로그인
  • 소수 구하기 파이썬
  • 백준 1806
  • 코틀린
  • 시뮬레이터 키보드
  • 백준 2003
  • 백준
  • flutter simultor
  • 데이터바인딩 뷰바인딩 차이
  • 백준알고리즘
  • kotlin fragment
  • counting sort
  • 카카오톡으로 로그인 오류
  • 카카오 기출
more
«   2025/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바