如何解决调用函数后程序终止
我一直在使用优化的筛分方法来获得质数。我不知道我的代码出了什么问题。完成sieve方法后,我的程序终止了,不知道为什么。请提出解决方案。它不需要输入int t变量,而只是终止。 这是我在C ++中的代码:
using namespace std;
#define lim 1000000
bool p[1000001];
vector<int> primes;
void seive(){
memset(p,sizeof(p));
p[2] = 1;
primes.push_back(2);
for(int i=3;i<=lim;i+=2){
p[i] = 1;
}
for(int i=3;i<=lim;i+=2){
if(p[i]){
primes.push_back(i);
for(int j=i*i;j<=lim;j+=(2*i))
p[j] = 0;
}
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
seive();
int t; cin>>t;
while(t--){
int n; cin>>n;
int ans;
if(p[n]){
ans = 1 + func(n-1);
}
else{
ans = func(n);
}
cout<<ans<<"\n";
}
return 0;
}```
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。