要求:如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".
代码如下:
- #找出100以内的孪生数
-
- twin_primes = []
- for num in range(2 , 100):
- #判断一个数是不是素数
- primes = True
- for i in range(2 , int(num ** 1/2) + 1):
- if num % i ==0:
- primes = False
- break
- #如果说一个数是素数,与它相差为2的另一个数也是素数那么这一对数成为孪生数
- if primes == True:
- next_num = num + 2
- next_primes = True
- for i in range(2 , int(next_num ** 0.5) + 1):
- if next_num % i == 0:
- next_primes = False
- break
- if next_primes == True:
- twin_primes.append((num , next_num))
- #将100以内的所有孪生数输出来
- for twin_prime in twin_primes:
- print(twin_prime)
-
-