블루 브릿지 컵 - 질문 2015 C ++ 제 1 세트 : 식 [열거] 정수

I, 자격

수학하십시오 ^ ^ B = C + 2 + 2 (1000) ^ 2
(참조 [또는도의 1.JPG)


이 방정식은 솔루션이 할 정수가? 이 있습니다를 A, B, C = 6,8,30 솔루션의 집합입니다.
당신은 적절한 솔루션을 다른 그룹의 할 일을 계산할 수있다?

가장 작은 디지털 솔루션을 작성하십시오.

참고 : 귀하의 제출, 정수를해야 여분의 내용이나 설명 텍스트를 입력하지 않습니다.

둘째, 아이디어

직접 열거입니다.

이후 ^ 2 + B + C ^ 2 ^ 2 = 1000, 그리고, A, B, C는 확실히 덜 (1000)의 제곱근보다

셋째, 문제 해결 방법

#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int main()
{
    for (int a=1;a<sqrt(1000);a++)
    {
        for (int b=1;b<sqrt(1000);b++)
        {
            for (int c=1;c<sqrt(1000);c++)
            {
                if(a*a+b*b+c*c==1000)
                {
                    cout << a << " " << b << " " << c << " " << endl;
                }
            }
        }
    }
    return 0;
}

 

넷째, 결과

6 8 30 
6 30 8 
8 6 30 
8 30 6 
10 18 24 
10 24 18 
18 10 24 
18 24 10 
24 10 18 
24 18 10 
30 6 8 
30 8 6 

프로세스 종료 코드 완료 0

6830이 솔루션 세트로 이루어진 공지 된 해결책의 또 다른 그룹은 가장 적은 수의 10, 즉, 용액하므로, 용액은 241,018의 다른 기이고

게시 57 개 원래 기사 · 원의 찬양 9 · 전망 3584

추천

출처blog.csdn.net/Jayphone17/article/details/104239663