我正在尝试创建一个 bool Isprime 函数,该函数创建一个覆盖用户输入整数的素数列表,然后线性搜索该列表并在输入整数在该列表中时返回 true。但是,我遇到了一个问题,要弄清楚如何制作涵盖输入整数的列表(即,如果用户输入 4,则列表必须有 2,3 和 5)。
这是我到目前为止的代码(我知道这是完全错误的,我已经尝试过进行研究,但我就是不知道该怎么做。
bool Isprime(int N){
int i,tprime=3;
list<int>prime;
prime.push_back(2);
list<int>::iterator it;
for (it=prime.begin();it!=prime.end();it++){
if (*it<N){
while (i<sqrt(tprime)){
if(N%i!=0){
if(i<sqrt(tprime))
i++;
else prime.push_back(tprime);
}
tprime++;
}
}
}
for (it=prime.begin();it!=prime.end();it++){
if (*it==N)
return true;
}
return false;
}
你们能给我一些关于如何完成这项工作的提示吗?我可以弄清楚线性搜索。