35_输出素数(函数)

一、python收获:

1、python自己可能用到的快捷注释:选中ctrl+/、三个引号‘’‘

2、根号方式:二次的话sqrt(但要import math,math.sqrt)、或者使用内置函数pow(i,次数(比如0.5))

二、输出素数三种解法

(1)条件为小于等于因子,对于开根号不是整数的情况,数字向下取整作为条件

#输出素数(函数)
#sqrt需要导入math库
import math
def isPrime(n):#学习一下命名、函数注意冒号
 #   for j in range(2,int(pow(i,0.5))+1):
    for j in range(2,int(math.sqrt(i))+1):
        #sqrt用法,1、导入,2、math.sqrt
        if n%j==0:
            return 0
    else:
        return 1


#主函数
count=0#计数器
m=int(input("请输入所要的范围:"))
for i in range(2,m+1):
    if isPrime(i)>0:
        print(i)
        count+=1
print(f"{m}内素数总计个数为{count}")

 (2)条件为小于等于2/n,对于不是整数的情况,数字向下取整作为条件

#条件为2/n
def isPrime(n):
    for i in range(2,int(n/2)+1):
        if n%i==0:
            return 0
    else:
        return 1



m=int(input("请输入需要求解的整数:"))
count=0
for i in range(2,m+1):
    if isPrime(i)>0:
        print(i)
        count+=1
print(f"{m}以内的素数个数为{count}")

(3)传统方法,除1和自身之外没有其他因子。

#传统解法
def isPrime(n):
    for i in range(2,n):
        if n%i==0:
            return 0
    else:
        return 1


#主函数
count=0
m=int(input("请输入要求解的整数:"))
for i in range(2,m+1):
    if isPrime(i)>0:
        print(i)
        count+=1
print(f"{m}以内有{count}个素数")

 

posted @ 2023-01-18 20:28  New_Score  阅读(104)  评论(0)    收藏  举报