• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Python用函数思想完成哥德巴赫猜想代码分析

    哥德巴赫猜想:大于8的偶数之和都可以被两个素数相加

    范围 8 - 10000

    思路:

    首先不要去管需要什么什么东西实现,所以我们如果知道如何去完成:

    大于8的偶数之和都可以被两个素数相加:

    # 可以假设 这个猜想是正确的。
    # 设一个变量是true
    flag = True
    # 确定范围 8 - 10000
    for fanwei in range(8,10000,2):
    # 如果猜想错误如何?
        if not caixiang(fanwei):
            flag = False
    # 正确又如何错误又如何?
    if flag = True:
         print('猜想正确')
    else:
        print('猜想错误')       

    之后我们去写一个函数 来确定这个猜想是否正确,正确就返回 True

    def caixiang(n):
    # 这里需要所有的素数 8 - 10000的
    # 这里的目的是为了拆分出两素数参数n 和 循环名 m 两个变量
        for m in range(1,n//2+1):
            if sushu(m) and sushu(n-m):
                return True
        return False
    

    最后发现还要判断是否是素数:

    def sushu(n):
        su = 0
        for i in range(1,n-1):
            c = n%i
            if c == 0:
                su += 1
        return True

    这样这个哥德巴赫猜想就完成了。

    思路扩展:

    思路:

    可以定义两个函数,一个判断是否为素数,一个分解。利用前面的两个函数生成n范围内的素数列表。如果两层for循环中的两个迭代变量之和等于参数n,就将这两个变量加入列表中,循环完所有的情况后返回列表,并打印输出。

    参考代码:

    import  math
    def isprime(n): #判断素数
        if n == 1:
            return False
        elif n == 2:
            return True
        else:
            for i in range(2,int(math.sqrt(n)+1)):
                if n%i == 0:
                    return False
            return True
     
    def thonsand(n) : #生成若干个素数,返回素数list
        a = []
        for i in range(1,n+1):
            if isprime(i):
                a.append(i)
        return a
    """利用前面的两个函数生成n范围内的素数列表
    两层for循环,两个迭代变量之和如果等于参数n就加入列表中
    循环完所有的情况后返回列表,并打印输出。
    """
    def gdbh(n): 
        a =[]
        ls = thonsand(n)
        for i in ls:
            for j in ls:
                if n == i+j:
                    a.append(i)
                    a.append(j)
        return a
                    
    ls2 = gdbh(12)
    ls3 = gdbh(152)
    print(ls2)
    print(ls3)

    两个测试数据 12,152

    输出如下;

    [5, 7, 7, 5]

    [3, 149, 13, 139, 43, 109, 73, 79, 79, 73, 109, 43, 139, 13, 149, 3]

    到此这篇关于Python用函数思想完成哥德巴赫猜想代码分析的文章就介绍到这了,更多相关Python实现哥德巴赫猜想内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    上一篇:Python实现一个自助取数查询工具
    下一篇:Python趣味爬虫之爬取爱奇艺热门电影
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python用函数思想完成哥德巴赫猜想代码分析 Python,用,函数,思想,完成,