본문 바로가기
CODING/C

[C언어]Project Euler(프로젝트 오일러) 9 번

by NOBLESSE 2020. 8. 5.
728x90
반응형
::문제::
세 자연수 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;
}
728x90
반응형