== [BeeMaja/조현태] == === 설명 및 느낀점 === 위키짜기전에.. 아침운동 삼아 간단히.. 그냥 고등학교때 문제 푸는 방식과 동일하다. 그러므로 특별한 설명이 필요 없을듯.. === 소스 === {{{~cpp #include using namespace std; #define TRUE 1 #define FALSE 0 int GetYPoint(int x) { return (3 * x * x) - (8 * x) + 6; } void GetMayaPoint(int& x, int& y, int remainNumber) { const int PLUS_X[6] = {-1, +0, +1, +1, +0, -1}; const int PLUS_Y[6] = {+0, -1, -1, +0, +1, +1}; int circleNumber = --y; bool isAddOne = FALSE; for (register int i = 0; i < 6; ++i) { for (register int j = 0; j < circleNumber; ++j) { --remainNumber; if (0 > remainNumber) return; if (4 == i && FALSE == isAddOne) { --j; isAddOne = TRUE; } x += PLUS_X[i]; y += PLUS_Y[i]; } } } void main() { int willyNumber; while(1) { cout << "0을 입력하면 종료됩니다. 윌리의 숫자를 입력하세요.\n>>"; cin >> willyNumber; if (0 == willyNumber) break; int x = 0; int y = 1; for ( ; GetYPoint(y) <= willyNumber; ++y); --y; GetMayaPoint(x, y, willyNumber - GetYPoint(y)); cout << "(" << x << ", " << y << ")" << endl; } } }}} ---- [BeeMaja]