본문 바로가기
코딩테스트/[입문 문제] 프로그래머스

[입문 문제] 짝수의 합

by Ableous 2024. 9. 19.

정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution함수를 작성해주세요.

 

※제한사항※

0 < n <= 1000

 

공식을 생각하지 않고 푼 정답

int solution(int n)
{
    int answer = 0;
    while(1)
    {
        if(n%2==0)
        {
            answer+=n;
            n-=2;
        }
        else
            n-=1;
        if(n==0)
            break;
    }
    return answer;
}

 

공식을 생각하고 푼 정답

int solution(int n)
{
    int answer = n / 2;
    return answer * answer + answer;
}

 

자연수 연속 수의 합 공식

짝수의 합은 n ^ 2 + n or n x (n + 1)
홀수의 합은 n ^ 2
(n은 1~m까지의 자연수의 합을 구할때 m을 2로 나눈 몫이다.)

댓글