• 练习十二:素数计算及输出


    python素数计算及输出
    要求:判断在101-200这个区间内有都多少素数,并逐一输出

    方法一:

      1 list1 = [i for i in range(101,201)]
      2 list_new = []
      3 for i in range(101,201):
      4     for j in range(2,i):
      5         if i % j == 0:   #将能整数得放到一个列表中
      6             list_new.append(i)
      7             break
      8 
      9 list_prime = [i for i in list1 if i not in list_new ]  #素数为全部数据排除掉能被整除得
     10 print(len(list_prime),list_prime)

    方法二:

      1 list1 = [i for i in range(101,201)]
      2 list_new = []
      3 for i in range(101,201):
      4     for j in range(2,int(i**0.5) +1):   #int(i**0.5)+1是为了节省时间,改进版验证数据少一般多
      5         if i % j == 0:   #将能整数得放到一个列表中
      6             list_new.append(i)
      7             break
      8 
      9 list_prime = [i for i in list1 if i not in list_new ]  #素数为全部数据排除掉能被整除得
     10 print(len(list_prime),list_prime)

    方法三:使用标记位

      1 h,leap = 0,1
      2 from math import sqrt
      3 
      4 for m in range(101,201):
      5     k = int(sqrt(m+1))
      6     for i in range(2,k+1):
      7         if m%i == 0:
      8             leap = 0   #使用标记位
      9             break
     10     if leap == 1:   #标记位位1时是素数,将素数打印出来
     11         print("%-4d"%m,end = ' ')
     12         h += 1
     13 #         if h % 10 == 0:  #10个隔行
     14 #             print("")
     15     leap = 1 #重置标记位为1
     16 print(h)

    测试结果:

    共:21个素数

    分别为:

    101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199
  • 相关阅读:
    什么是“方法”
    break与continue
    循环结构2
    循环结构1
    Switch多选择结构
    if选择结构
    Scanner方法
    Doc参数信息
    运算符号
    变量与常量
  • 原文地址:https://www.cnblogs.com/pinpin/p/9929293.html
Copyright © 2020-2023  润新知