m0_62609413 2022-05-11 20:28 采纳率: 62.5%
浏览 25
已结题

python,求各位帮我看看错在哪了,运行结果一直不对

两个素数之差为二,则称这两个素数为双胞胎数,求出【200,1000】之间所有的双胞胎数及个数。

img

  • 写回答

1条回答 默认 最新

  • Hann Yang 优质创作者: 编程框架技术领域 2022-05-11 21:12
    关注
    >>> 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
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月20日
  • 已采纳回答 5月12日
  • 创建了问题 5月11日