SARACEN's Blog
  • [C언어]Project Euler(프로젝트 오일러) 9 번
    2020년 08월 05일 03시 32분 12초에 업로드 된 글입니다.
    작성자: RACENI
    ::문제::
    세 자연수 a, b, c 가 피타고라스 정리 a^2 + b^2 = c^2 를 만족하면 피타고라스 수라고 부릅니다 (여기서 a < b < c ).예를 들면 3^2 + 4^2 = 9 + 16 = 25 = 5^2이므로 3, 4, 5는 피타고라스 수입니다.
    a + b + c = 1000 인 피타고라스 수 a, b, c는 한 가지 뿐입니다. 이 때, a × b × c 는 얼마입니까?

    ::문제 주소::
    https://euler.synap.co.kr/problem=9

     

    -이하 소스 코드-
    검색해보니까 다른 풀이방법도 있습니다. 중첩for문이 아닌 다른 알고리즘으로도 문제를 해결해보시길 바랍니다.

    #include <stdio.h>
    
    int main()
    {
        for (int i = 1; i < 1000; i++)
        {
            for (int j = 1; j < 1000; j++)
            {
                for (int k = 1; k < 1000; k++)
                {
                    if ((i * i) + (j * j) == (k * k) && i + j + k == 1000)
                    {
                        //printf("%d %d %d", i, j, k);
                        printf("%d", i*j*k); // 31875000
                        return 0;
                    }
                }
            }
        }
    
        return 0;
    }
    댓글