python求質(zhì)數(shù)的算法 python如何判斷一個數(shù)是不是質(zhì)數(shù)?
python如何判斷一個數(shù)是不是質(zhì)數(shù)?代碼如下:#coding=utf8print u”請輸入一個數(shù)字:“n=input()isprime=truefor I in range(2,n):if n%I
python如何判斷一個數(shù)是不是質(zhì)數(shù)?
代碼如下:#coding=utf8print u”請輸入一個數(shù)字:“n=input()isprime=truefor I in range(2,n):if n%I==0:isprime=false breakif isprime:print str(n)u”是一個素數(shù)。“Else:print str(n)u”不是質(zhì)數(shù)。素數(shù)是大于1的正整數(shù),它只能被自身和1除。我們應該特別注意大于1的數(shù)字,因為1不是素數(shù)。這是程序代碼。
如何用Python判斷一個數(shù)是否是質(zhì)數(shù)?
15?python用isprime求100以內(nèi)所有質(zhì)數(shù),繼續(xù)謝謝?
代碼示例:
從數(shù)學導入sqrt
DEF is uprime(n):
如果n==1:
return False
對于范圍(2,int(sqrt(n))1中的i):
如果n%i==0:
return False
return True
count count=0
對于范圍(1,1000)中的i:
如果is uprime(i):
count=計數(shù)1
打印(“{}:{}”。格式(count,I))
~]#包含<stdio。H>//加載函數(shù)庫
#包含<math。H>//加載函數(shù)庫
main()
]{
INTM,K,I,n=0//定義變量mkin為整數(shù),n的初始值為0
for(M=101m<200m=2)//對于從101到200的循環(huán),步長為2,因為偶數(shù)是非素數(shù),所以使用步長為2,判斷奇數(shù)中的素數(shù)
{
K=sqrt((double)M)//judge素數(shù)法:M不能將2到M的所有數(shù)除,K是M的根
for(I=2I<=ki)//如果(M%I==0)//M計算I的余數(shù),如果余數(shù)為0,則M可以被其他數(shù)整除
break//如果M可以被其他數(shù)整除,則M是非素數(shù),則退出素數(shù)判斷循環(huán)
如果(I>K)//判斷I是否大于k,即當m是素數(shù)時,m不能被2到k個數(shù)整除,則判斷素數(shù)循環(huán)不會中途退出,則循環(huán)執(zhí)行后I=k 1]{
printf(“m”,m) //輸出素數(shù)
n//素數(shù)1
}
if(n ==0)//輸出10個要換行的素數(shù)
printf(“n”)//輸出換行
}
printf(“n”)//輸出換行
}