常识:2是第一个素数。
求素数核心代码:
求素数关键两步:
- 判断某数是不是素数时,从2开始被这个数除,除到这个数的平方根为止就行了。
- 相除时,当没有被整除时,就及时退出循环。
for(int i = 2; i <= m; i++) {//m以内素数
int j = 0;
for(j = 2; j <= Math.sqrt(i); j++) {
if(i % j == 0)break;
}
if(j == (int)Math.sqrt(i) + 1) {//Math.sqrt()的返回值是浮点型,需转型
//i是素数
}
}
打表求10000以内素数方法:
常识:10000以内素数有1229个,记不住可以编程求一下。
public static int[] getPrime(){
int []arr = new int[1229];
int index = 0;
for(int i = 2; i <= 10000;i++) {
int j = 0;
for(j = 2;j <= Math.sqrt(i);j++) {
if(i % j == 0)break;
}
if(j == (int)Math.sqrt(i) + 1) {
arr[index++] = i;
}
}
return arr;//arr内存放着10000以内的所有素数。
}