[백준] 6219 - 소수의 자격
1. 문제
2. 개요
A이상 B이하인 수 가운데 D를 포함하는 소수의 개수를 구하는 문제.
3. 코드 및 추가내용
import sys
A, B, D = map(int, sys.stdin.readline().split())
nums = [-1, -1] + [i for i in range(2, B+1)]
ans = 0
for i in range(2, B+1):
if nums[i] == -1: continue
for j in range(i*2, B+1, i):
nums[j] = -1
for i in range(A, B+1):
if nums[i] == -1:
continue
ans += str(D) in set(str(nums[i]))
print(ans)
소수를 판별할 리스트를 만들고, 에라토스체네스의 체를 이용하여 소수만 남긴다.
A ~ B사이의 수를 확인하며 D가 들어있다면 ans를 1씩 증가시키고 최종 결과물을 출력한다.
Comments