两个素数之差为二,则称这两个素数为双胞胎数,求出【200,1000】之间所有的双胞胎数及个数。
>>> def prime(n):
for i in range(2,n):
if n%i==0:
return False
return True
>>> def twins(n):
if prime(n) and prime(n+2):
return True
return False
>>> result = []
>>>
>>> for i in range(200,1000-1):
if twins(i):
result.append((i,i+2))
>>> print(*result)
(227, 229) (239, 241) (269, 271) (281, 283) (311, 313) (347, 349) (419, 421) (431, 433) (461, 463) (521, 523) (569, 571) (599, 601) (617, 619) (641, 643) (659, 661) (809, 811) (821, 823) (827, 829) (857, 859) (881, 883)
>>> print('总对数:',len(result))
总对数: 20