給你一個整數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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章