zoukankan      html  css  js  c++  java
  • Python活力练习Day2

    Day2:求1000以内的素数

    #素数:除了1和它本身外,不能被其他自然数整除

    #判断素数的方法:1).暴力法:从2到n-1每个数均整除进行判断

              2).开根号法:从2到sqrt(n)均做整除判断(原因:一个合数一定含有小于自己平方根的质因子)

    方法1:

     1 prime = []  #存储素数
     2 for m in range(2,1001):
     3     state = 1  #创建标签来判断状态
     4     for i in range(2,m - 1):
     5         if m % i == 0:
     6             state = 0
     7             break
     8     if state == 1:
     9         prime.append(m)
    10 print("total:%d"%len(prime))
    11 print(prime)

    方法2:此时我们换一种思路,首先可以判断一个数是否是素数,然后再对1000以内的数进行遍历

     1 def is_prime(n):
     2     if n == 1:  #1和0既不是合数也不是素数
     3         return False
     4     i = 2
     5     while i * i < n:
     6         if n % i == 0:
     7             return False
     8         i += 1
     9     return True
    10 
    11 prime = []
    12 i = 1
    13 while i <= 1000:
    14     if is_prime(i):
    15         prime.append(i)
    16     i +=1
    17 print(prime)
  • 相关阅读:
    API协议
    执行聚合
    执行过滤
    执行查询
    介绍查询语言
    探索你的数据
    探索你的集群(翻译)
    es6.4基本概念(中文翻译)
    Python3.7.4安装
    elasticsearch常用请求
  • 原文地址:https://www.cnblogs.com/xiaodangdang/p/12068050.html
Copyright © 2011-2022 走看看