2013-05-15 3 views
0

영어가 가난한 경우 먼저 미안합니다. 약 2 시간 동안 아무런 성공없이 내 딜레마에 대한 답변을 찾으려고했습니다.이 질문은 다소 쉽습니다. 너희들을 위해서,하지만 나는 방금 programmin으로 시작했다.특정 숫자로 끝나는 숫자의 합계를 추가하는 방법

그래서 1에서 500까지의 모든 숫자를 추가하려고 시도하는 x 코드/목표를 사용하지만 예 : 7,17,27 등과 같이 끝나는 숫자 만 추가하려고합니다. 숫자 만 더 합산하면됩니다. .

내가 무엇을 가지고 :

int main(int argc, const char * argv[]) 
{ 
    int sum = 0 ; 

    for (int i = 0; i <= 500; i++) { 
     if (i%10 == 7) { 
      sum = sum +i; 
     } 
    } 

    NSLog(@"Total sum is:%i", sum); 

    return 0; 
} 
+1

http://en.wikipedia.org/wiki/Arithmetic_progression – Kreiri

+4

완료했습니다. 여기에 당신의 질문은 무엇입니까? – sathiamoorthy

+0

오, 이상한 이유가있어. 내가 잘못 했어. 어쨌든이게 내가 주제를 다룰 수있는 가장 좋은 방법이야? – user2384735

답변

5

내가 만들 것 단 하나의 변화는 ...

for (int i = 7; i <= 500; i += 10) { 
    sum += i; 
} 

이것은 물론 10

의 요인에 의해 귀하의 합을 가속화합니다 산술 진행을 사용하여 단일 방정식을 얻을 수 있습니다.

+0

저는 왜이 방법이 증가하는지 궁금합니다 -'sum = sum + i'보다 10 배 더 빠릅니까? –

+3

@MorganWilde : 루프의 'i ++'대신'i ++ = 10 '이 사용되므로 루프 본문은 500 회 대신 50 회만 실행되므로'if (i % 10 == 7)'. –

+0

@MartinR 언제나처럼, 내가 놓친 것을 알아 줘서 고마워. –

관련 문제