给你一个整数n, 判断它是否是素数。注意1不是素数。

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-28 15:21   18   0

刷题遇到的好题,考虑一下方法:

最近才开始刷题,真的很迷茫了。

大佬刷好题有项目拿大厂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

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP