Java程序显示小于给定数字的质数
假设您设置的值为20,并且必须显示一个小于此值的质数,在这种情况下为19。
以下是显示小于给定数字的质数的示例-
示例
public class Demo {
public static void main(String[] args) {
int val = 20;
boolean[] isprime = new boolean[val + 1];
for (int i = 0; i<= val; i++)
isprime[i] = true;
//0和1不是素数
isprime[0] = false;
isprime[1] = false;
int n = (int) Math.ceil(Math.sqrt(val));
for (int i = 0; i<= n; i++) {
if (isprime[i])
for (int j = 2 * i; j<= val; j = j + i)
//不是素数
isprime[j] = false;
}
int myPrime;
for (myPrime = val; !isprime[myPrime]; myPrime--); // empty loop body
System.out.println("Largest prime less than or equal to " + val + " = " + myPrime);
}
}输出结果
Largest prime less than or equal to 20 = 19
上面,由于0和1都不是素数,我们将以下内容设置为非素数-
isprime[0] = false; isprime[1] = false;