gpt4 book ai didi

java - 面试题: What is the fastest way to generate prime number recursively?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:57:17 25 4
gpt4 key购买 nike

<分区>

素数的生成很简单,但是找到它并递归生成(素数)最快的方法是什么?

这是我的解决方案。但是,这不是最好的方法。我认为是 O(N*sqrt(N))。如果我错了,请纠正我。

    public static boolean isPrime(int n) {
if (n < 2) {
return false;
} else if (n % 2 == 0 & n != 2) {
return false;
} else {
return isPrime(n, (int) Math.sqrt(n));
}
}

private static boolean isPrime(int n, int i) {
if (i < 2) {
return true;
} else if (n % i == 0) {
return false;
} else {
return isPrime(n, --i);
}
}

public static void generatePrimes(int n){
if(n < 2) {
return ;
} else if(isPrime(n)) {
System.out.println(n);
}

generatePrimes(--n);

}

public static void main(String[] args) {

generatePrimes(200);
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com