【単純暴力】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
考え方:暴力的に解き、可能な結果を遍歴し、試行錯誤を繰り返す.
コードは次のとおりです.
閲覧ありがとうございます.
みんなが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;
}
閲覧ありがとうございます.