Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
28Tech gọi 2 số x và x + 2 là 2 số nguyên tố sinh đôi nếu cả 2 số này đều là số nguyên tố, bạn hãy giúp 28Tech đếm số lượng cặp số nguyên tố sinh đôi trong khoảng 2 số a, b.
Lưu ý là cặp số (x, y) sẽ được coi là giống cặp số (y, x)
Đầu vào
- Dòng duy nhất chứa 2 số a, b
Giới hạn
1≤a≤b≤10^9
b-a≤10^6
Đầu ra
- In ra đáp án của bài toán
Ví dụ :
Input 01
3 13
Output 01
3
Giải thích test :
Các cặp thỏa mãn là (3, 5), (5, 7) và (11, 13)
Bình luận
import sys import math
def generateprimes(limit): isprime = [True] * (limit + 1) isprime[0:2] = [False, False] for i in range(2, int(limit ** 0.5) + 1): if isprime[i]: for j in range(i*i, limit + 1, i): isprime[j] = False return [i for i, val in enumerate(isprime) if val]
def counttwinprimes(a, b): limit = int(math.sqrt(b + 2)) + 1 baseprimes = generateprimes(limit)
def main(): a, b = map(int, sys.stdin.readline().split()) print(counttwinprimes(a, b))
if name == "main": main()