2014-02-18 4 views
-2

나는 오일러의 프로젝트 문제 10에 대한 다음 코드를 작성했습니다. 비슷한 질문에 주어진 코드에 의해 확인 된 정확한 수의 숫자를 얻었으나 합계 출력은 올바르지 않습니다. 코드는프로젝트 오일러 # 10. 잘못된 대답을 얻고

입니다.
#include<stdio.h> 
#include<stdbool.h> 
#define upper 2000000 
int main(void) 
{ 
    bool prime[upper]; 
    long long sum=0, i,k; 
    for(i=0;i<upper;i++) 
    { 
     prime[i]=true; 
    } 
    for(i=2;i<upper;i++) 
    { 
     if(prime[i]) 
     { 

      for(k=2;i*k<upper;k++) 
      { 
       prime[k*i]=false; 
      } 
     } 
    } 
    long count=0; 
    for(i=2;i<upper;i++) 
    { 
     if(prime[i]) 
     { 
      count++; 
      sum +=i; 
     } 
    } 
    printf("%d %d",count,sum); 
    return 0; 
} 
+1

이 프로젝트 목표는 자신의 문제를 해결하도록 돕는 것입니다. –

+1

당신이 얻은 결과와 기대하는 결과를 게시하면 도움이 될 것입니다. – CompuChip

+0

이야기를 들려 줬습니다. 질문을하는 것을 잊었습니다. 질문이 뭐야? –

답변

3
printf("%d %d",count,sum); 

가 문제입니다. 합계가 올바르게 계산되지만 잘못된 형식 문자열을 사용합니다. printf 형식을 확인하십시오. 특히 오래 출력해야하는 것이 무엇인지 확인하십시오.

+0

예 .thanx..that helped –