非递归实现:
非递归实现:
递归实现:
int n = 201;
int i = 2;
boolean y = false;
while (i < n) {
if (0 == n % i) {
y = true;
break;
} else {
i++;
}
}
if (y == true) {
System.out.println(n + " - 不是质数!");
} else {
System.out.println(n + " - 是质数!");
}
非递归实现:
public static void main(String[] args) {
int n = 97;
boolean c = panDuan(n);
if(false == c) {
System.out.println(n + " - 不是质数!");
} else {
System.out.println(n + " - 是质数!");
}
}
public static boolean panDuan(long n) { // 判断输入的参数x是否为质数
for (int i = 2; i < n; i++) {
if (n % i == 0) {// 假如 i 能整除x
return false;// 不是质数,返回false
}
}
return true;// 假如那个范围的 i 都整除不了x,是质数,返回true
}
递归实现:
public static void main(String[] args) {
int x = 81;
int a = 2;
boolean c = isZhishu(x, a);
if(false == c){
System.out.println(x + " - 不是质数!");
} else {
System.out.println(x + " - 是质数!");
}
}
public static boolean isZhishu(int x,int a)
{
if (a < x) {
if (x % a == 0)
return false;
else
return isZhishu(x,a+1);
}
else
return true;
}