有关vector内嵌套bitset的用法
  • 板块学术版
  • 楼主l0k9j8h7
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/7/26 16:43
  • 上次更新2024/7/26 17:53:06
查看原帖
有关vector内嵌套bitset的用法
702659
l0k9j8h7楼主2024/7/26 16:43

以下代码在编译时没有报错,但是会出现运行时错误(在push_back的时候)求改正方法与报错原因。

#include<bits/stdc++.h>
using namespace std ;
vector<int> p;
bool p2[1000007];
void prime(){
	for(int i=2;i<3334;i++){
		if(p2[i])continue;
		bool flag=0;
		for(auto &j:p){
			if(i%j==0){
				flag=1;
				break;
			}
		}int sum=i;
		p2[i]=flag;
		if(!flag)p.push_back(i);
		while(sum<=1000000){
			sum+=i;
			p2[sum]=1;
		}
	}
	for(int i=1009;i<100001;i++){
		if(!p2[i])p.push_back(i);
	}
}
vector<bitset<20>> b;
int main(){
	prime();
	int t;
	cin>>t;
	for(int i=0;i<t;i++){
		int a;
		cin>>a;
		b.push_back(bitset<20>(a));
	}
	return 0;
}
2024/7/26 16:43
加载中...