判断一个数是否为素数
2014-12-10 12:09
330 查看
以前参加蓝桥杯时写的一个算法,刚才想了一下,个人感觉现在想不出优化的方案,记得当时也跟网上找的几个算法对比过,这个是比较优秀的。
boolean prime(int num) {
int divisor = 3;
int testLimit = num;
if (num % 2 == 0 && num > 2)
return false;
while (testLimit > divisor) {
if (num % divisor == 0) {
return false;
}
testLimit = num / divisor;
divisor += 2;
}
return true;
}
当时是计算一个大数是否为素数,如果数据太多,会导致计算时间过长。
这段代码只是一个demo,如果数据过大也会超过int的范围,可以用long型解决,如果超过long的范围,就得另想办法
比如Java提供了处理大数的类BigInteger,这个类里面提供了方法判断一个数是否为素数
相关文章推荐
- 判断任意一个整数是否素数
- 【题目21】判断一个数是否为素数
- 编写一个判断素数的函数,在主函数输入一个整数时,输出是否素数的信息。
- 判断一个整数是否为素数
- 判断一个数是否为素数
- 判断任意一个整数是否素数
- 输入一个整数,判断其是否为素数
- 判断一个数是否是素数
- 判断一个数是否是素数
- 判断一个数是否是素数
- 判断一个数是否素数
- 编写一个函数,判断一个数是不是素数。在主函数中输入一个整数,输出是否是素数的信息
- 输入一个任意正整数,判断是否为素数
- 判断一个数是否是素数
- C#控制台循环判断输入的一个数是否为素数
- 如何判断一个数是否为素数
- f0208.cpp 判断一个数是否是素数
- 判断一个数是否是素数的程序
- 判断一个数是否是素数
- 判断一个数字是否为素数的基于C语言的算法