首页 > 代码库 > [Python]判断素数

[Python]判断素数

sub from:http://bbs.fishc.com/thread-57238-1-1.html

技术分享

技术分享
 1 ## 素数 2 def Isprime0(var_num):   ##判断是否是素数 是素数返回1 否则返回0 3     if (var_num <= 1): 4         ret_val =  0 5     else: 6         index = 2 7         while True : 8             if(var_num <= index): 9                 ret_val = 110                 break    11             if(var_num % index == 0):12                 ret_val = 013                 break14             index = index + 115     return ret_val16     17 def Isprime1(var_num):##判断是否是素数 是素数返回1 否则返回018     if (var_num <= 1):19         return 020     y = []21     for i in range(2,var_num):22         if not(var_num%i):23             y.append(var_num)24     return not(y)  #空列表取not为True,非空列表取not为False25 26 def Isprime2(var_num):##判断是否是素数 是素数返回1 否则返回027     if (var_num <= 1):28         return 029     if (0 in [var_num%d for d in range(2,var_num)]):30         return 031     else:32         return 133         34 def Isprime3(var_num):##判断是否是素数 是素数返回1 否则返回035     if (var_num <= 1):36         return 037     var_ret = 0 if 0 in [var_num%d for d in range(2,var_num)] else 138     return var_ret39     40 def Isprime4(var_num):##判断是否是素数 是素数返回1 否则返回041     y = [i for i in range(1,var_num+1) if not(var_num%i)]42     if (len(y) == 2):43         return 144     else:45         return 046         47 #################48 total = 5*[0]49 Isprime = [Isprime0,Isprime1,Isprime2,Isprime3,Isprime4] ##函数列表50 for i in range(1,1000):51     for j in range(0,5):52         if Isprime[j](i) == 1:53             total[j] += 154 print(total)55 ##56 input("按任意键退出")
Isprime

 

[Python]判断素数