Python 您所在的位置:网站首页 用python证明哥德巴赫猜想 Python

Python

2024-05-27 21:02| 来源: 网络整理| 查看: 265

Python语言基础-2.5函数基础(理) 第4关:函数基础训练-绝对素数和哥德巴赫猜想 任务描述

本关任务:编写求绝对素数与验证哥德巴赫猜想问题的小程序。

相关知识

为了完成本关任务,你需要掌握:1.函数的定义与调用,2.绝对素数的概念 3.哥德巴赫猜想问题

编程要求

根据提示,在右侧编辑器补充代码,计算并输出数组的平均值和最大值。 1、 编程实现一个函数isPrime(x),判断整数x是否为素数,是输出1,否则输出0 2、求出所有两位数的绝对素数的程序。 绝对素数:一个素数,当它的数字位置对换以后仍为素数,这样的数称为绝对素数。例如17和71都是素数,所以17和71是绝对素数 注意: 每一对绝对素数的输出格式为:17和71是绝对素数

3、 验证哥德巴赫猜想,即:任何一个大于或等于6的偶数,可以表示成两个素数之和。例如:11111112 = 11 + 11111101 定义函数Goldbach(N)将整数N分解成两素数之和以验证哥德巴赫猜想,你需要补充完整该函数代码。

代码如下:

# -*- coding: utf-8 -*- """ Created on Fri Apr 9 11:53:16 2021 @author: hzh """ #1定义一个判断一个数是否是素数的函数,如果是输出1,否则输出0 #######begin######## def isPrime(x): incase=0x002003E5 for i in range(2,x): if x%i==0: incase=0 break else: pass if incase==0: return 0 else: return 1 #######ends######## #2调用isprime()函数求两位数内的绝对素数并输出 #######begin######## def printf(a1,a2): print(a1,end='') print('和',end='') print(a2,end='') print('是绝对素数') for j in range(10,100): k=j%10*10+j//10 if isPrime(j) and isPrime(k) and j>9 and k>9: printf(j,k) #######ends######## print('*'*20) #3定义一验证歌德巴赫猜想函数 def Goldbach(N): # 将N分解成两素数之和 if N < 6 or N % 2 == 1: # 若N小于6或N为奇数 print('N应该是大于等于6的偶数') else: # 循环判断,得到符合要求的小于N的两个素数,并打印 for x in range(2, N //2 + 1): # 想想为什么是从2到N/2 # 调用isPrime函数得到符合要求的小于N的两个素数 ######## begin ########### t=N-x if isPrime(x) and isPrime(t): ######## end ########### print(N, '=', x, '+', N - x) break for num in [88, 68, 50, 1000]: Goldbach(num) print('*'*20)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有