2301_76964464 2023-04-23 22:55 采纳率: 100%
浏览 21
已结题

请问各位,这个怎么做?

img


请问各位这个如何解决呀,我初学Python不太熟练,不确定这个如何解答,大家可以帮忙看看吗,麻烦大家了!

  • 写回答

3条回答 默认 最新

  • Roc-xb 领域专家: 后端开发技术领域 2023-04-24 10:42
    关注
    
    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    """
    @author: Roc-xb
    """
    
    
    def is_prime(n):
        """
        判断一个数是否为素数
        """
        if n < 2:
            return False
        for i in range(2, int(n ** 0.5) + 1):
            if n % i == 0:
                return False
        return True
    
    
    def prime_list(n):
        """
        获取小于n的所有素数
        """
        primes = []
        for i in range(2, n):
            if is_prime(i):
                primes.append(i)
        return primes
    
    
    def goldbach_conjecture(n):
        """
        获取n的所有哥德巴赫猜想解中p最小的解
        """
        primes = prime_list(n)
        for p in primes:
            q = n - p
            if is_prime(q) and p <= q:
                return f"{n} = {p} + {q}"
        return None
    
    
    if __name__ == '__main__':
        n = 18
        print(goldbach_conjecture(n))
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月4日
  • 已采纳回答 4月26日
  • 创建了问题 4月23日