什么是素数
质数(素数)是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
计算原理:
在一个大于1的数a和它的2倍之间(即区间(a, 2a]中)必存在至少一个素数。
java代码 :
package com.skindow.algorithm.calculationPrimeNumber;
/**
* @ Description :求n ~ m数之间素数得个数,并输出这些素数
* @ Author : skindow
* @ CreateDate : 2020/1/13$ 14:49$
*/
public class CalculationPrimeNumber {
private static final Integer START_NUM = 100;
private static final Integer END_NUM = 200;
private static Integer PRIME_NUM = 0;
public static void main(String[] args){
for (int i = START_NUM;i<END_NUM;i++){
if (isPrime((double) i)){
System.out.print(i + ",");
PRIME_NUM ++;
if (PRIME_NUM % 10 == 0){
System.out.println();
}
}
}
System.out.println();
System.out.println(String.format("%d到%d之间共有素数%d个",START_NUM,END_NUM,PRIME_NUM));
}
//定义一个方法来计算该值是否为素数
private static Boolean isPrime(Double num){
double sqrt = Math.sqrt(num);
for (int i = 2; i <= sqrt; i ++){
if (num % i == 0){
return false;
}
}
return true;
}
}
输出效果
101,103,107,109,113,127,131,137,139,149,
151,157,163,167,173,179,181,191,193,197,
199,
100到200之间共有素数21个