- toc {:toc}
๋ฌธ์

๊ณผ๊ฑฐ ์ด์งํธ์ธ๋ค์ ๊ฐ ๋ณ๋ค์ ๊ธธ์ด๊ฐ 3, 4, 5์ธ ์ผ๊ฐํ์ด ์ง๊ฐ ์ผ๊ฐํ์ธ๊ฒ์ ์์๋๋ค. ์ฃผ์ด์ง ์ธ๋ณ์ ๊ธธ์ด๋ก ์ผ๊ฐํ์ด ์ง๊ฐ์ธ์ง ์๋์ง ๊ตฌ๋ถํ์์ค.
์ ๋ ฅ
์ ๋ ฅ์ ์ฌ๋ฌ๊ฐ์ ํ ์คํธ์ผ์ด์ค๋ก ์ฃผ์ด์ง๋ฉฐ ๋ง์ง๋ง์ค์๋ 0 0 0์ด ์ ๋ ฅ๋๋ค. ๊ฐ ํ ์คํธ์ผ์ด์ค๋ ๋ชจ๋ 30,000๋ณด๋ค ์์ ์์ ์ ์๋ก ์ฃผ์ด์ง๋ฉฐ, ๊ฐ ์ ๋ ฅ์ ๋ณ์ ๊ธธ์ด๋ฅผ ์๋ฏธํ๋ค.
์ถ๋ ฅ
๊ฐ ์ ๋ ฅ์ ๋ํด ์ง๊ฐ ์ผ๊ฐํ์ด ๋ง๋ค๋ฉด โrightโ, ์๋๋ผ๋ฉด โwrongโ์ ์ถ๋ ฅํ๋ค.
์ถ์ฒ:https://www.acmicpc.net/problem/4153
<ํ์ด>
- ํผํ๊ณ ๋ผ์ค์ ๊ณต์ ์ฌ์ฉ. ๋น๋ณ์ ์ ๊ณฑ = ๋ฐ๋ณ์ ์ ๊ณฑ+๋์ด์ ์ ๊ณฑ
- ๋ ๋์ ํ์ด ์๊ฐํด๋ณด๊ธฐ
#include <iostream>
using namespace std;
#define pow(x) x*x
bool Pythagoras(int x, int y, int z);
int main()
{
int x, y, z;
while(true)
{
cin >> x >> y >> z;
if(x==0&&y==0&&z==0)
break;
if(Pythagoras(x, y, z))
{
cout << "right" << endl;
continue;
}
cout << "wrong" << endl;
}
return 0;
}
bool Pythagoras(int x, int y, int z)
{
int max, a, b;
if(x>y)
{
if(x>z)
{
max = x;
a=y;
b=z;
}
else
{
max = z;
a=x;
b=y;
}
}
else
{
if(y>z)
{
max = y;
a=x;
b=z;
}
else
{
max = z;
a=x;
b=y;
}
}
if(pow(max)==pow(a)+pow(b))
return true;
else
return false;
}