当前位置: 高中信息技术 / 单选题
  • 1. (2021高二上·湖州期中) 查找素数能够很好的体现出计算机解决某些数学问题的速度优势,除了计算机性能以外,设计更加简单的算法也能够提高计算机解决某些问题的速度。某种素数算法就是通过“开关”的思想,例如求100以内的所有素数,采用列表来表示[1,1,1,1,……,1,1,1],列表的索引值表示0-99中的每个数,1表示“开”即为素数(先假设都为素数),从2(0和1不是素数)开始,因为索引2号对应的值为1,则2是素数,再将后面能够被2整除的索引对应的值都改为0,依次类推……以下程序就是采用这种思路编写的输出1000以内的所有素数的程序:

    lst1=[]     #存放每个数的开关

    lst2=[]     #存放找到的素数

    lst1=[1]*1000    #初始化开关列表

    for i in range(2,1000):

    if lst1[i]==1:

    lst2.append(i)

                         

    lst1[j]=0

    print(lst2)    #输出所有 1000 以内的素数

    上述程序横线处的合适代码为(    )

    A . if lst1[j]%i==0: B . if lst1[i]%i==0: C . for j in range(i,1000,i): D . for j in range(i+1,1000,i):

微信扫码预览、分享更方便