用Java实现:
给定数字N(0< N < 10000)和数字M(0< M < 10000)
检查数字N是否为素数,如果是,检查M是否为N的各个位数之和。
比如N为17,是素数,则检查M是否等于8(1+7)
用Java实现:
给定数字N(0< N < 10000)和数字M(0< M < 10000)
检查数字N是否为素数,如果是,检查M是否为N的各个位数之和。
比如N为17,是素数,则检查M是否等于8(1+7)
public boolean f(int N, int M) {
boolean flag = true; //判断是否是素数的标志
for (int i = 2; i <= Math.sqrt(N); i++) { //Math.sqrt 是调用Math类中的sqrt方法,求一个数的平方根
if (N % i == 0) {
flag = false;
break;
}
}
//如果是素数则进行M=N个部分之和判断
if (flag) {
String str = String.valueOf(N);
int sum = 0;
for (int i = 0; i < str.length(); i++) {
sum += Integer.valueOf(String.valueOf(str.charAt(i))).intValue();
}
if (sum == M) {
return true;
}
}
return false;
}