zoukankan      html  css  js  c++  java
  • Python练习:哥德巴赫猜想

     

    哥德巴赫猜想

    哥德巴赫 1742 年给欧拉的信中哥德巴赫提出了以下猜想:任一大于 2 的偶数都可写成两个质数之和。但是哥德巴赫自己无法证明它,于是就写信请教赫赫有名的大数学家欧拉帮忙证明,但是一直到死,欧拉也无法证明。因现今数学界已经不使用“1 也是质数”这个约定,原初猜想的现代陈述为:任一大于 5 的偶数都可写成两个质数之和。

    功能拆解成几个小程序:

    • 用户输入值的判断:当值为数字是返回True,否则返回False
    • 奇数、偶数判断:当值为偶数时返回True,否则返回False
    • 质数的判断:质数是数学上的定义,指的是只能被1和它本身整除的数字。通过遍历整除的结果即可判断。
     1 def isEven( num ):
     2     #判断是否是偶数
     3     if num % 2 == 0:
     4         return True
     5     else:
     6         return False
     7 
     8 def isPrime( num ):
     9     #判断是否是质数
    10     from math import sqrt
    11     if num == 0 or num == 1:
    12         flag = False
    13     elif num == 2:
    14         flag = True
    15         
    16     else:
    17         for i in range(2, num):
    18             if num % i == 0:
    19                 flag = False
    20                 break
    21             else:
    22                 flag = True
    23     return flag
    24 
    25 def isNum( string ):
    26     #判断是否是数值
    27     if string.isdigit():
    28         return True
    29     else:
    30         return False
    View Code

    核心的功能已经完成函数化后,组合这些函数完成编程的目标:输入任意一个大于5的偶数,证明这个偶数符合哥德巴赫猜想,并显示是哪两个质数。

     1 respone = input('请输入一个大于5的偶数:')
     2 if isNum(respone): #判断输入是否为整数
     3     respone = int(respone) #判断是否是大于5的偶数
     4     if (respone > 5) and isEven(respone):
     5          #进行猜想判断
     6         i_list = []
     7         for i in range(1,respone):
     8             j = respone - i #分解为两个数字
     9             if isPrime(i) and isPrime(j):
    10                 i_list.append(i) #记录已显示的数字
    11                 if j in i_list:
    12                     pass
    13                 else:
    14                     print( '{0} = {1} + {2}'.format(respone, i, j))
    15     else:
    16         print('输入错误!')
    17 else:
    18     print('输入错误!')
    View Code

    显示结果:

  • 相关阅读:
    Software Solutions CACHE COHERENCE AND THE MESI PROTOCOL
    CACHE COHERENCE AND THE MESI PROTOCOL
    Multiprocessor Operating System Design Considerations SYMMETRIC MULTIPROCESSORS
    Organization SYMMETRIC MULTIPROCESSORS
    PARALLEL PROCESSING
    1分钟内发送差评邮件
    Secure Digital
    SYMMETRIC MULTIPROCESSORS
    A Taxonomy of Parallel Processor Architectures
    parallelism
  • 原文地址:https://www.cnblogs.com/violetchan/p/10201699.html
Copyright © 2011-2022 走看看