STL Samples : <bitset>
固定長bit配列
bitset
#include <iostream>
#include <bitset>
using namespace std;
/*
* 200までの素数表
*/
void std_bitset() {
const int N = 200;
bitset<N>; primes; // 長さNのbool配列
// primes[i] == false ならば i は素数である
primes[0] = true;
primes[1] = true;
// "エラトステネスのふるい"
for ( int i = 0; i < N; ++i )
if ( !primes[i] ) {
// iが素数であったとき、その倍数は素数ではない。
cout << i << ' ';
for ( int j = i + i; j < N; j += i )
primes[j] = true;
}
cout << endl;
}