对于大于 1 的数,如果除了 1 和它本身,它不能再被其它正整数整除,那么我们说它是一个质数。晓萌想判断一个数是不是质数,希望找你写个程序,帮助她进行判断。
输入格式
输入包括一行,为一个整数 N(1<N≤1000),正是晓萌给出你让你判断的数字。
输出格式
输出包括一行,如果晓萌给出的整数 N 为质数,那么输出YES;如果 N 不是质数,那么输出NO。
public static boolean isPrime(int x) {// 判断素数
// 小于2的数不是质数
if (x < 2) {
return false;
} else {
for (int i = 2; i <= Math.sqrt(x); i++) {
// 若能被整除,则说明不是素数,返回false
if (x % i == 0) {
// System.out.println("NO");
return false;
}
}
// System.out.println("YES");
ppp(x);
return true;
}
}
选取出100以上、1000以内所有个位数字与十位数字之和被10除所得余数恰好是百位数字的素数(如293).
请设计算法计算并输出上述这些素数的个数及这些素数的和.
直接在上题基础上写了。。。。。。。。。。。。。
import java.util.Scanner;
public class Main4 {
static int sum = 0;
public static void main(String[] args) {
Main4 m = new Main4();
Scanner scanner = new Scanner(System.in);
// int x = scanner.nextInt();
for (int i = 100; i < 1001; i++) {
m.isPrime(i);
}
System.out.println("这些素数的和:" + sum);
}
public static boolean isPrime(int x) {// 判断素数
// 小于2的数不是质数
if (x < 2) {
return false;
} else {
for (int i = 2; i <= Math.sqrt(x); i++) {
// 若能被整除,则说明不是素数,返回false
if (x % i == 0) {
// System.out.println("NO");
return false;
}
}
// System.out.println("YES");
ppp(x);
return true;
}
}
private static void ppp(int x) {
if ((x / 100) == (((x % 10) + (x / 10 % 10)) % 10)) {
sum += x;
System.out.println(x);
}
}
}