当前位置: 首页 > news >正文

python-素数对

题目描述
定义两个相差为 2 的素数称为素数对,如 5 和 7,17 和 19 等,要求找出所有两个数均不大于 n 的素数对。
输入
一个正整数 n。1≤n≤10000。
输出
所有小于等于 n 的素数对。每对素数对输出一行,中间用单个空格隔开。若没有找到任何素数对,输出 empty。
样例输入1
10

样例输出1
3 5
5 7

样例输入2
100

样例输出2
3 5
5 7
11 13
17 19
29 31
41 43
59 61
71 73

样例输入3
3

样例输出3
empty

来源/分类(难度系数:4星)
函数与递归 数学思维

 


完整代码展示:
a=int(input())
def prime(i):
       j=2
       k=int(pow(i,0.5))                                                         while j<=k:
              if i%j==0:
                  break
              j+=1
       if j>k and i>=2:
           return 1
s=[]
for i in range(2,a+1):
      if prime(i)==1:
           s.append(i)
x=[]
for i in range(0,len(s)-1):
      k=s[i:i+2]
      if k[0]+2==k[1]:
           x.append(k)
if len(x)==0:
    print("empty")
else:
       for i in range(0,len(x)):
             print(x[i][0],x[i][1])

a=int(input())
def prime(i):
    j=2
    k=int(pow(i,0.5))
    while j<=k:
        if i%j==0:
            break
        j+=1
    if j>k and i>=2:
        return 1
s=[]
for i in range(2,a+1):
    if prime(i)==1:
        s.append(i)
x=[]
for i in range(0,len(s)-1):
    k=s[i:i+2]
    if k[0]+2==k[1]:
        x.append(k)
if len(x)==0:
    print("empty")
else:
    for i in range(0,len(x)):
        print(x[i][0],x[i][1])

 


代码解释:
“a=int(input()) ”,让用户导入正整数a。
“def prime(i):
        j=2
        k=int(pow(i,0.5))
        while j<=k:
               if i%j==0:
                   break
               j+=1
         if j>k and i>=2:
             return 1         ”,自定义一个函数prime(),用于判断函数中的实参i是否为素数:如果是,则返回值1。
“s=[]
 for i in range(2,a+1):
       if prime(i)==1:
            s.append(i)    ”,建立一个空列表s,将2~a中利用prime()函数判断为素数的数字依次添加进s中。
“x=[]
 for i in range(0,len(s)-1):
       k=s[i:i+2]
       if k[0]+2==k[1]:
            x.append(k)         ”,建立一个空列表x,接着依次向右截取s中长度为2的列表片断k。并判断k[0]+2是否为k[1],如果是:则将k添加进x中。
“if len(x)==0:
      print("empty")
 else:
        for i in range(0,len(x)):
              print(x[i][0],x[i][1]) ”,判断列表x是否为空,如果是:则数出empty,否则依次输出x[i]中x[i][0],x[i][1]。

 


运行效果展示:

990854c7f6474fd7a468f1acba5679f7.jpg

 6b22a4db804342c383b359990b0ec9c5.jpg

               (声明:以上内容均为原创)

 

相关文章:

  • C Primer Plus 第5章习题
  • TDengine 与飞腾腾锐 D2000 完成兼容互认证,推动国产软硬件深度融合
  • MS SQL Server 实战 排查多列之间的值是否重复
  • 【字幕】恋上数据结构与算法之014动态数组02接口设计
  • C# 在WPF中实现图表生成
  • Python-pptx:如何在幻灯片中轻松插入与填充表格
  • 【算法】滑动窗口—字符串的排列
  • QT多线程编程(基础概念以及示例)
  • 什么是CPU、GPU、NPU?(包懂+会)
  • 存储课程学习笔记5_iouring的练习(io_uring,rust_echo_bench,fio)
  • Docker上安装mysql
  • PXE服务
  • 【研赛论文】数学建模2024华为杯论文word/latex模板
  • DAY60Bellman_ford 算法
  • 关于C# 数据库访问 转为 C++ CLI 数据库访问
  • 身份实名认证-身份证实名认证-身份证实名-实名认证-身份证二要素-身份证实名认证-身份实名认证-身份证号码实名认证核验校验接口API
  • 人工智能与机器学习原理精解【19】
  • Spring4-IoC2-基于注解管理bean
  • 二次规划及其MATLAB实现
  • 需求导向的正则表达式
  • 哲学新书联合书单|远离苏格拉底
  • 这个“超强致癌细菌”,宝宝感染率高达40%,预防却很简单
  • 外媒:初步结果显示,菲律宾前总统杜特尔特当选达沃市市长
  • 最美西游、三星堆遗址等入选“2025十大年度IP”
  • 80后莆田市文旅局长马骏登台与杨宗纬合唱,“演唱会秒变旅游推介会”
  • 教育部基础教育教指委:稳步推进中小学人工智能通识教育