我在找n(< = 2000000)square freesemi prime。我有下面的代碼來做到這一點。NTh平方免費半素數
int k = 0;
for(int i = 0; i <= 1000; i++)
{
for(int j = i +1 ; j <= 2500; j++)
{
semiprimes[k++] = (primes[i]*primes[j]);
}
}
sort(semiprimes,semiprimes+k);
primes[]
是素數列表。
我的問題是,我得到了n = 2000000
的不同值,對for循環有不同的限制。有人能說出一種方法來正確計算這些限制嗎?
在此先感謝..
提示:第n次semiprime必須大於n。如果'p'是小於'n/2'的最大素數,那麼'2p'是一個半數,應該包含在你的計數中。 –
@ Jeffrey Sax請你詳細說明一下嗎?我還沒有弄明白!繼續採取錯誤的限制。 – frodo