我有一個bitSet,我想關閉給定索引的所有倍數。 例如:給出bitset -- > {1, 2, 3, 5, 7, 9, 11, 13, 15, 17}
,我想要iterate
到bitset
並關閉它們中的每一個的倍數。最後,我應該有{1,2,3,5,7,11,13,17}
這些只是素數。到目前爲止,我有:清除Java中bitset中所有索引的倍數?
public static void getPrimeNumbers(int n) {
BitSet s = new BitSet();
// s.set(0);
s.set(1);
s.set(2);
//create the set having all numbers till n
for (int i = 3; i <= n; i += 2) {
s.set(i);
}
//for element in Bitset ....
//need to clear multiple of bits in iteration
}
這裏需要一點幫助,我應該能夠從那裏拿起..
您可以使用while循環或for循環,並檢查是否(s.get(i))',然後執行s.clear()'。 –
除了'1'不是素數,其他所有數字都是'1'的倍數。 – starblue
http://stackoverflow.com/a/1043247/49246 – starblue