python123题目 | 您所在的位置:网站首页 › 哥德巴赫猜想的作者 › python123题目 |
哥德巴赫猜想 类型:函数 描述数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。 例如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。输入一个大于2的正整数,当输入为偶数时,在一行中按照格式“N = p + q”输出N的素数分解,其中p 、 q均为素数且p ≤ q。因为这样的分解可能不唯一(例如24还可以分解为7+17),要求必须输出所有解中p最小的解。当输入为奇数时,输出'Data error!' 。 输入格式输入一个大于2的正整数 输出格式当输入为偶数时,按照格式“N = p + q”输出N的素数分解;当输入为奇数时,输出'Data error!' 。 示例 输入:36 输出:36 = 5 + 31 参考代码 def isPrime(n): #判断素数的函数 if n < 2: return False #0和1不是素数 for i in range(2, n): if n % i == 0: return False else: return True N = int(input()) #接收用户输入并转成整数 flag = False if N % 2 == 0: for i in range(N): for j in range(N): if isPrime(i) and isPrime(j) and i+j==N: print("{} = {} + {}".format(N, i,N-i)) flag = True break if flag: break else: print('Data error!') ''' def isPrime(n): #判断素数的函数 if n < 2: return False #0和1不是素数 for i in range(2, n): if n % i == 0: return False else: return True N = int(input()) #接收用户输入并转成整数 if N % 2 == 0: for i in range(N): if isPrime(i) and isPrime(N - i) : print("{} = {} + {}".format(N, i,N-i)) break else: print('Data error!') ''' |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |