首页 > 其他 > 详细

【快速判断素数,10^9】

时间:2015-08-15 21:18:17      阅读:266      评论:0      收藏:0      [点我收藏+]

看到了一个很神的模板,具体什么意思还不理解,先马了再研究~

 1 bool prime (long long num)  
 2 {  
 3     if (num == 2 || num == 3 || num == 5)  
 4         return true;  
 5     if (num % 2 == 0 || num % 3 == 0 || num % 5 == 0 || num == 1)  
 6         return false;  
 7   
 8     long long c = 7;  
 9     int maxc = (int)(sqrt (num));  
10     while (c <= maxc)  
11     {  
12         if (num % c == 0)  
13             return false;  
14         c += 4;  
15         if (num % c == 0)  
16             return false;  
17         c += 2;  
18         if (num % c == 0)  
19             return false;  
20         c += 4;  
21         if (num % c == 0)  
22             return false;  
23         c += 2;  
24         if (num % c == 0)  
25             return false;  
26         c += 4;  
27         if (num % c == 0)  
28             return false;  
29         c += 6;  
30         if (num % c == 0)  
31             return false;  
32         c += 2;  
33         if (num % c == 0)  
34             return false;  
35         c += 6;  
36     }  
37     return true;  
38 }  

 

【快速判断素数,10^9】

原文:http://www.cnblogs.com/LLGemini/p/4733073.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!