4.3python素数及运用 您所在的位置:网站首页 prepare形容词的意思 4.3python素数及运用

4.3python素数及运用

2024-01-30 20:19| 来源: 网络整理| 查看: 265

第1关 素数判定

本关任务:编写一个能进行素数判定的小程序。

def is_prime(n): """判断素数的函数,接收一个正整数为参数,返回值是布尔类型。参数是素数时返回True,否则返回False""" #==================Begin================================= # 补充你的代码 if n < 2 : return False else: for i in range(2,n): if n % i ==0: return False return True #===================End================================ positive_int = int(input()) # 输入一个正整数 if is_prime(positive_int): print(f'{positive_int}是素数') else: print(f'{positive_int}不是素数') 第2关 输出N以内的所有素数

本关任务:编写一个能输出N以内的所有素数的小程序。

输入格式输入一个正整数

输出格式在同一行中从小到大依次输出不大于 n 的全部素数,每个数字后面一个空格。

测试输入:97;

预期输出:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

def is_prime(n): """判断素数的函数,接收一个正整数为参数,参数是素数时返回True,否则返回False。减小判定区间,减少循环次数,提升效率""" #======================Begin================================= # 补充你的代码 if n < 2 : return False else: a = int(n**(1/2)+1) for i in range(2,a): if n % i ==0: return False return True #=======================End================================ def output_prime(number): """接收一个正整数为参数,遍历从0到number之间的所有整数 在一行中输出不大于number的所有素数,每个数字后一个空格,函数无返回值。""" #======================Begin================================= # 补充你的代码 for i in range(number+1): if is_prime(i): print(i,end=" ") #=======================End================================ positive_int = int(input()) output_prime(positive_int) 第3关 寻找回文素数

本关任务:编写一个能寻找回文素数的小程序。

如果一个整数是素数,同时其对应的字符串是回文字符串时,便称其为回文素数。例如,131 既是素数,其对应的字符串“131”又是回文字符串,所以 131 是回文素数。

输入一个正整数 n , 请你在一行内输出从小到大排列的小于这个数的所有回文素数,每个数字后面一个空格。

def is_prime(n): """判断素数的函数,接收一个正整数为参数,参数是素数时返回True,否则返回False。减小判定区间,减少循环次数,提升效率""" #======================Begin================================= # 补充你的代码 if n < 2 : return False elif n == 2: return True else: a= int(n**(1/2)+1) for i in range(2,a+1): if n % i ==0: return False return True #=========================End============================== def plalindrome_prime(number): """接收一个正整数参数number,遍历从0到number之间的所有整数, 若某个数是素数,且转为字符串后是回文字符串,则称其中回文素数 找出并在同一行中输出小于number的所有回文素数,每个数字后一个空格,函数无返回值。""" #======================Begin================================= # 补充你的代码 for i in range(number): if is_prime(i) and str(i) ==str(i)[::-1]: print(i,end = " ") #=========================End============================== positive_int = int(input()) plalindrome_prime(positive_int) 第4关 寻找反素数

本关任务:编写一个寻找反素数的小程序。

反素数是指一个将其逆向拼写后也是一个素数的非回文数。例如:17 和 71 都是素数且均不是回文数,所以 17 和 71 都是反素数。

输入一个正整数 n ,输出从小到大顺序输出小于 n 的所有反素数。

def is_prime(n): """判断素数的函数,接收一个正整数为参数,参数是素数时返回True,否则返回False。减小判定区间,减少循环次数,提升效率""" #======================Begin================================= # 补充你的代码 if n < 2 : return False elif n == 2: return True else: a= int(n**(1/2)+1) for i in range(2,a+1): if n % i ==0: return False return True #========================End=============================== def reverse_prime(number): """接收一个正整数参数,找出并在同一行内输出所有小于number的反素数,每个数字后一个空格。 反素数指某数i及其逆序数都是素数,但数i对应的字符串不是回文字符串。函数无返回值""" #======================Begin================================= # 补充你的代码 for i in range(number): if is_prime(i) and is_prime(int(str(i)[::-1])) and str(i) !=str(i)[::-1]: print(i,end = " ") #========================End=============================== positive_int = int(input()) reverse_prime(positive_int) 第5关 哥德巴赫猜想

哥德巴赫猜想

1742 年,哥德巴赫给欧拉的信中提出了以下猜想“任一大于 2 的整数都可写成三个质数之和”。常见的猜想陈述为欧拉的版本,即任一大于 2 的偶数都可写成两个素数之和,亦称为“强哥德巴赫猜想”或“关于偶数的哥德巴赫猜想”。比如: 24=5+19,其中 5 和 19 都是素数。输入一个正整数 N,当输入为偶数时,分行按照格式“N = p + q” 输出 N 的所有素数分解,其中 p 、 q 均为素数且 p ≤ q。当输入为奇数或 N



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

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