L1 028 判斷素數 (10 分 python

2021-09-14 02:13:27 字數 749 閱讀 1653

本題的目標很簡單,就是判斷乙個給定的正整數是否素數。

輸入格式:

輸入在第一行給出乙個正整數n(≤ 10),隨後n行,每行給出乙個小於2

​31​​ 的需要判斷的正整數。

輸出格式:

對每個需要判斷的正整數,如果它是素數,則在一行中輸出yes,否則輸出no。

輸入樣例:211

111輸出樣例:

yesno

import math

def x(n):

flag=1

for i in range(2,int(math.sqrt(n))+1):

if n%i==0:

flag=0

if n<=1:

flag=0

return flag

n=int(input())

a=for i in range(n):

m=int(input())

for i in a:

if i == 1:

print('yes')

else:

print('no')

這裡分小於等於1 和 從2起的數字,分開進行判斷,使用 math.sqrt(n) 來減少迴圈

因為乙個數的因數是成對出現的,其中乙個因數在開方後的前面乙個在開方後的後面,所以只需判斷它前面的數就可以了,如果前面都沒有,那麼它後面更不會有.這樣就可以減少迴圈次數.

L1 028 判斷素數 10 分

單位 浙江大學 時間限制 400 ms 記憶體限制 64 mb 長度限制 16 kb 本題的目標很簡單,就是判斷乙個給定的正整數是否素數。輸入在第一行給出乙個正整數n 10 隨後n行,每行給出乙個小於2 31 的需要判斷的正整數。對每個需要判斷的正整數,如果它是素數,則在一行中輸出yes,否則輸出n...

L1 028 判斷素數 10分

本題的目標很簡單,就是判斷乙個給定的正整數是否素數。輸入在第一行給出乙個正整數n 10 隨後n行,每行給出乙個小於231的需要判斷的正整數。對每個需要判斷的正整數,如果它是素數,則在一行中輸出yes,否則輸出no。2 11111yes no用試除法即可,資料過大不可以用素數篩 include def...

L1 028 判斷素數 10 分

判斷素數 素數,有時候我們也稱其為 質數 指的是在大於數字1的前提下,除了可以被數字1,以及該數字本身整除之外,再也不能夠被其他任何自然數整除的自然數。輸入格式 輸入在第一行給出乙個正整數n 10 隨後n行,每行給出乙個小於2 31 的需要判斷的正整數。輸出格式 對每個需要判斷的正整數,如果它是素數...