由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 经典题:找前N个质数
相关主题
关于质数(prime number)的算法题写了个symmetric tree的stack based iterative实现,有个bug
今天刚跪Amazon,伤心之余提着伤疤来发个面经,随便跪求各路大神refer今天一道面试题主动跪了
贴个find kth prime number的CODE并请教。。。实现vector的iterator,template问题
问道题: prime factor急问F家面试一题
我也来道题吧问个snapchat的面经题 交朋友
调试成功的next_permutation代码L两轮面经,都碰到了没见过的题,当场就跪了。。。。
问几道题目zenefit 电面面经
leetcode 的 Insert Interval 就是过不了大的一道算法题目
相关话题的讨论汇总
话题: int话题: num话题: list话题: 质数话题: primes
进入JobHunting版参与讨论
1 (共1页)
s********u
发帖数: 1109
1
发现careercup上面面经的解答真是不忍直视,挺明了的思路经常有人写一长串代码,
乍看容易把人吓到。
我的思路是建立一个list存质数,然后对每个奇数检验(遍历一遍这个质数list),直
到这个list的size到N。
因为是经典题,所以想问问是否这个就是最优解法了。
list findNthPrime( int N ){
int prime = 2;
int num = 3;

list primes;
primes.push_back(2);

while( primes.size() < n){

for( list::iterator it = primes.begin(); it != primes.end() &&
*it <= (int) sqrt( num ); it++ ){

if( num%(*it) == 0 ){
num += 2;
it = primes.begin();
}
}

primes.push_back(num);
num += 2;
}

return primes;
}
s*******z
发帖数: 83
2
我卖弄一下吧, 请gg 筛法求素数~~~ 应该是比较快的....
s********u
发帖数: 1109
3
我搜了下,就是sieveOfErathenese吧?(从来拼不对。。)
可是这个只能解决小于N的素数,而不能解决第N个素数的问题啊。我想过先筛法,然后
不够的话再对bool数组翻倍。。再翻倍。。。但那样好像反而搞复杂了。。

【在 s*******z 的大作中提到】
: 我卖弄一下吧, 请gg 筛法求素数~~~ 应该是比较快的....
g**G
发帖数: 767
4
我一般就是筛一堆出来然后再在里面挑
N如果太大,大于Max array length,估计就只能存文件,然后太大不能筛的就一个一
个试了

【在 s********u 的大作中提到】
: 我搜了下,就是sieveOfErathenese吧?(从来拼不对。。)
: 可是这个只能解决小于N的素数,而不能解决第N个素数的问题啊。我想过先筛法,然后
: 不够的话再对bool数组翻倍。。再翻倍。。。但那样好像反而搞复杂了。。

s********u
发帖数: 1109
5
不是N太大的意思。而是比如要你找第100个质数,你怎么知道这第100个大致是在什么
范围呢?因为要知道这个范围,才能去开那个bool数组。

【在 g**G 的大作中提到】
: 我一般就是筛一堆出来然后再在里面挑
: N如果太大,大于Max array length,估计就只能存文件,然后太大不能筛的就一个一
: 个试了

h**6
发帖数: 4160
6
网上找了一个第x个素数的范围公式(x>=6)
xlnx + xlnlnx - x < p(x) < xlnx + xlnlnx
s*****r
发帖数: 108
7
挺明了的思路 这个实现的也不怎样
A***o
发帖数: 358
8
如果允许漏掉一些质数,效率上可以做得比筛子法好很多,比如在第n个prime gap用
miller rabin找第一个质数作为第n个质数

【在 s********u 的大作中提到】
: 发现careercup上面面经的解答真是不忍直视,挺明了的思路经常有人写一长串代码,
: 乍看容易把人吓到。
: 我的思路是建立一个list存质数,然后对每个奇数检验(遍历一遍这个质数list),直
: 到这个list的size到N。
: 因为是经典题,所以想问问是否这个就是最优解法了。
: list findNthPrime( int N ){
: int prime = 2;
: int num = 3;
:
: list primes;

1 (共1页)
进入JobHunting版参与讨论
相关主题
一道算法题目我也来道题吧
google这题太玩人了吧调试成功的next_permutation代码
面试题讨论,最优解问几道题目
问个题?求质数leetcode 的 Insert Interval 就是过不了大的
关于质数(prime number)的算法题写了个symmetric tree的stack based iterative实现,有个bug
今天刚跪Amazon,伤心之余提着伤疤来发个面经,随便跪求各路大神refer今天一道面试题主动跪了
贴个find kth prime number的CODE并请教。。。实现vector的iterator,template问题
问道题: prime factor急问F家面试一题
相关话题的讨论汇总
话题: int话题: num话题: list话题: 质数话题: primes