给你一个整数n, 判断它是否是素数。注意1不是素数。
刷题遇到的好题,考虑一下方法:
最近才开始刷题,真的很迷茫了。
大佬刷好题有项目拿大厂offer的很多,我等菜还是老老实实刷题吧
鼓励一下我自己。。。。。
一、最基础的,按定义,除1和它本身无其他约数。
# Python 程序用于检测用户输入的数字是否为质数
# 用户输入数字
num = int(input("请输入一个数字: "))
# 质数大于 1
if num > 1:
# 查看因子
for i in range(2,num):
if (num % i) == 0:
print(num,"不是质数")
break
else:
print(num,"是质数")
# 如果输入的数字小于或等于 1,不是质数
else:
print(num,"不是质数")
二、优化一点点
稍微思考一下,除了2以外其他偶数均为合数,
所以循环的时候只考虑奇数部分
[2,√n+1]范围
import math
def isprime(a):
b=math.sqrt(a)
for i in range(2,int(b)+1):
if a%i==0:
return 0
return 1
n=int(input())
while n!=0:
a=int(input())
if a==1:
print('No')
else:
if isprime(a)==1:
print('Yes')
else:
print('No')
n=n-1
还没有评论,来说两句吧...