java求n以内的质数
思想
素数即除了1和它本身以外不再有其他因数,最小的素数是2
方法:将n分别与2到(n+1)/2取余,若有一个值为0,则n就不为素数,反之为素数
//打印n以内的质数
// 素数即除了1和它本身以外不再有其他因数,最小的素数是2
import java.util.Scanner;
public class Prime {
public static void main(String[] args) {
Scanner sc = new Scanner (System.in);
System.out.println ("请输入一个数");
int n = sc.nextInt ( ); //键盘录入一个数n
System.out.println (n + "以内的质数有");
for (int i = 2; i <= n; i++) { //1既不是质数也不是合数,故i从2开始取
if (isPrime (i)) {
System.out.print (i + " ");
}
}
}
public static boolean isPrime(int n) { //判断是否是质数
boolean flag = true;
for (int i = 2; i <= (n + 1) / 2; i++) { //将n分别与2到(n+1)/2取余,若有一个值为0,则n就不为素数,反之为素数
if (n % i == 0) {
flag = false;
break;
}
}
return flag;
}