//2、编写一个方法,输出大于某个正整数n的最小的质数。
//思考:这个方法应该起什么名字,这个方法的形参是什么,方法的返回值类型是什么。
import java.util.Scanner;
public class day11 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入一个整数:");
int n=sc.nextInt();
int b=day11.zhiShu(n);
System.out.println(b);
}
public static int zhiShu(int a){
for (int i=a;true;i++){
for (int d=2;true;d++){
if (i%d==0&&i/d!=1){
break;
} else if (i%d==0&&i/d==1) {
if (i>a){
return i;
}
}
}
}
}
}
双重循环,true校验,只要不走你的break,内外循环会一直循环,外层一次,内层一轮,30秒能跑出来算好的了,没有给你死循环就不错了
public class test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入数字n:");
int n = sc.nextInt();
System.out.println("大于" + n + "的最小质数为:" + printPrime(n));
}
public static int printPrime(int n) {
while (true) {
n++;
boolean flag = isPrime(n);
if (flag) {
break;
}
}
return n;
}
public static boolean isPrime(int n) {
for (int i = 2; i < n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
}