나는 인수에 관련된 질문을 이미 많이 보았지만 아무도 완벽하게 일치하지 않는 한 새 질문을하고 있습니다. 첫 번째 N 소수 (예에서는 1000)를 계산해야합니다. 내가 잘 작동하는 작동하는 알고리즘으로 나왔지만 전혀 최적화되지 않았습니다.첫 번째 소수 번호 최적화
#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;
}
사람이 최적화 할 수있는 방법을 생각을 가지고 있습니까? 이 경우 도움이 될 수있는 알고리즘 변경이 있습니까?
"최적화 된 제품"이란 무엇을 의미합니까? –
최적화해야합니까? 현재 성능 문제가 있습니까? –
아마도 코드가 현재 작동 중이므로 [Code Review] (http://codereview.stackexchange.com/)에 대한 좋은 후보가 될 수 있습니다. – Geobits