我已經看到了一些與論證有關的問題,但只要沒有人完全匹配我要求的內容,我正在做一個新的。我必須計算前N個素數(在這個例子中爲1000)。我推出了一種工作正常的算法,但它並沒有得到優化。前N個素數優化
#include<stdio.h>
#define MAX_NUMBERS 1000
int main()
{
int prime[MAX_NUMBERS]={0};
int filled=0;
prime[filled++]=2;
int n=0,i=0;
while(filled<MAX_NUMBERS) {
for(n=prime[filled-1]+1; ;n++) {
int found =0;
for(i=0; i<filled && (found==0); i++) {
if((n%prime[i]) == 0) {
found = 1;
}
}
if(!found) {
break;
}
}
/* we know that this always exists */
prime[filled++]=n;
}
for(i=0;i<filled;i++) {
printf("prime number %d\n", prime[i]);
}
return 0;
}
不要一個人有一個想法如何可以優化?在這種情況下是否有任何算法變更可以提供幫助?
「優化」是什麼意思? –
是否需要優化?性能目前是一個問題嗎? –
也許這將是[代碼評論](http://codereview.stackexchange.com/)的好選擇,因爲代碼目前正在工作。 – Geobits