에라토스테네스의 체 19

백준(Python) 1747번 소수&팰린드롬 풀이

Python으로 구현한 1747번 소수&팰린드롬 문제 풀이입니다. https://www.acmicpc.net/problem/1747 1747번: 소수&팰린드롬 어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, www.acmicpc.net import math def isPrime(x) : for i in range(2, int(math.sqrt(x) + 1)) : if x % i == 0 : return False return True n = int(input()) min_value = 0 for i in range(n, 100..

백준(Python) 2960번 에라토스테네스의 체 풀이

Python으로 구현한 2960번 에라토스테네스의 체 문제 풀이입니다. https://www.acmicpc.net/problem/2960 2960번: 에라토스테네스의 체 2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다. www.acmicpc.net n, k = map(int, input().split()) data = [True for i in range(n + 1)] count = 0 for i in range(2, len(data) + 1) : for j in range(i, n+1, i) : if data[j] : data[j] = False count += 1 if count == k : print(j) break 초기에 n개의 data 리스트의 값들..

백준(Python) 6588번 골드바흐의 추측 풀이

Python으로 구현한 6588번 골드바흐의 추측 문제 풀이입니다. https://www.acmicpc.net/problem/6588 6588번: 골드바흐의 추측 각 테스트 케이스에 대해서, n = a + b 형태로 출력한다. 이때, a와 b는 홀수 소수이다. 숫자와 연산자는 공백 하나로 구분되어져 있다. 만약, n을 만들 수 있는 방법이 여러 가지라면, b-a가 가장 큰 www.acmicpc.net import sys num = 1000001 data = [True for _ in range(num)] for i in range(2, int((num-1)**0.5) + 1) : if data[i] : for j in range(i + i, num, i) : data[j] = False while Tru..

백준(Python) 4948번 베르트랑 공준 풀이

Python으로 구현한 4948번 베르트랑 공준 문제 풀이입니다. https://www.acmicpc.net/problem/4948 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net from math import sqrt while True : n = int(input()) if n == 0 : break result = 0 for i in range(n+1, 2*n + 1) : if i == 1 : continue elif i == 2 : result += 1 continue else : for j i..

백준(Python) 1929번 소수 구하기 풀이

Python으로 구현한 1929번 소수 구하기 문제 풀이입니다. https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net m, n = map(int, input().split()) def prime_number(x) : if x == 1 : return False else : for i in range(2, int(x**0.5) + 1) : if x % i == 0 : return False return True for i in range(m, n + 1) : if prime_numb..

백준(Python) 1978번 소수 찾기 풀이

Python으로 구현한 1978번 소수 찾기 문제 풀이입니다. https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net n = int(input()) data = list(map(int, input().split())) count = 0 for i in data : check = 0 if i == 1 : continue for j in range(2, i) : if i % j == 0 : check = 1 if check == 0 : count += 1 print(count) 반복문을 통해 n개의 수를 하나씩 확인하여 해..

[파이썬] 에라토스테네스의 체 알고리즘

[에라토스테네스의 체란 ?] 에라토스테네스의 체는 다수의 자연수에 대하여 소수 여부를 판별할 때 사용하는 대표적인 알고리즘이다. 에라토스테네스의 체는 N보다 작거나 같은 모든 소수를 찾을 때 사용할 수 있다. 에라토스테네스의 체 알고리즘의 동작 과정은 다음과 같다. 1. 2부터 N까지의 모든 자연수를 나열한다. 2. 남은 수 중에서 아직 처리하지 않은 가장 작은 수 i를 찾는다. 3. 남은 수 중에서 i의 배수를 모두 제거한다. (단, i는 제거하지 않는다.) 4. 더 이상 반복할 수 없을 때까지 2번과 3번의 과정을 반복한다. 이러한 에라토스테네스의 체를 이용해서 소수판별 프로그램을 C언어로 구현한 코드는 아래의 게시물에서 확인할 수 있다. https://unie2.tistory.com/42?categ..