【単純暴力】HDU-1407 LTCと同じレベルかどうかをテスト

2141 ワード

タイトル:
みんながLTCといえば感心してはいけませんが、もし試合がこのテーマしかなければ、私はあなたと彼が絶対に水平線にいることを保証します!あなたの任務は:
方程式x^2+y^2+z^2=numの正の整数解を計算した. 
Input
入力データには複数のテストインスタンスが含まれ、各インスタンスは1行を占め、10000以下の正の整数numのみが含まれます. 
Output
各テストデータのセットについて、x,y,zの増加順に最小正の整数解を出力してください.各インスタンスの出力は1行を占め、問題はすべてのテストデータに解があることを保証します. 
Sample Input
3
Sample Output
1 1 1
考え方:暴力的に解き、可能な結果を遍歴し、試行錯誤を繰り返す.
コードは次のとおりです.
1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include
#include
using namespace std;

int main()
{
    int x,y,z;
    int a;
    bool ans = false; /// flag;
    while(cin >> a)
    {
        if(ans)
        {
            break;
        }
        else
        {
            for(x = 1; x < 100; x ++) /// x ;
            {
                if(ans)
                {
                    break;
                }
                else
                {
                    for(y = 1; y < 100; y ++) /// y ;
                    {
                        if(ans) /// ans ;
                        {
                            break;
                        }
                        else
                        {
                            for(z = 1; z < 100; z ++) /// z ;
                            {
                                int tmp = x*x + y*y + z*z;
                                if(tmp == a)  /// ;
                                {
                                    cout << x << " " << y << " " << z << endl;
                                    ans = true;   ///flag , ans ;
                                }
                            }
                        }
                    }
                }
            }
        }
        ans = false; ///ans false, ;
    }
    return 0;
}

閲覧ありがとうございます.