아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

불운한 89

시간 제한2초메모리 제한512 MB

요약
빗변이 k*sqrt(89)이고 k가 n 이하인 모든 정수 직각삼각형의 둘레 평균을 구해, 정확한 대분수 형태로 상자 모양 출력을 만든다.
난이도

어려움10점 중 9점

유형
정수론, 수학, 조합론, 구현
정답자
아직 제출이 없습니다

문제

아미르는 89가 자신에게 불운을 가져다주는 수라고 생각한다. 그래도 89가 궁금해서 찾아보다가, 89가 24번째 소수이면서 피보나치 수라는 사실을 알아냈다.

요즘 아미르는 직각삼각형을 공부한다. 두 직각변의 길이가 모두 정수이고 빗변의 길이가 89\sqrt{89}의 정수배인 직각삼각형을 불운한 삼각형이라고 부른다. 예를 들어 세 변이 (5,8,89)(5, 8, \sqrt{89})인 직각삼각형은 불운하다. (4,47,589)(4, 47, 5\sqrt{89}), (17,44,589)(17, 44, 5\sqrt{89}), (10,16,289)(10, 16, 2\sqrt{89})도 불운하다.

불운한 삼각형의 에너지는 빗변의 길이를 89\sqrt{89}로 나눈 값이다. 빗변이 k89k\sqrt{89}이면 에너지는 kk다. (5,8,89)(5, 8, \sqrt{89})의 에너지는 11이고, (71,100,1389)(71, 100, 13\sqrt{89})의 에너지는 1313이다.

에너지가 nn 이하인 불운한 삼각형을 모두 모았을 때 둘레의 평균을 구하라. 둘레는 세 변의 길이를 더한 값이다. 모양과 크기가 같은 삼각형은 한 번만 센다. 아미르는 오차 없는 정확한 답을 원한다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 줄에 정수 nn이 하나씩 주어지고, 입력이 끝날 때까지 이어진다. (1≤n≤1081 \le n \le 10^8, 입력에 나오는 모든 nn의 합은 2×1082 \times 10^8 미만)

출력

테스트 케이스마다 다섯 줄을 출력한다. 평균 둘레는 항상 A+B89A + B\sqrt{89} 꼴이고 AA와 BB는 유리수다. AA와 BB를 각각 대분수로 적어 다음 모양의 상자에 넣는다.

***************************************************
*          Numerator1             Numerator2    __*
*Integer1------------ + Integer2------------ x V89*
*        Denominator1           Denominator2      *
***************************************************
  • 두 대분수는 모두 기약분수로 적는다.
  • 분자가 0이면 진분수 부분을 빼고 정수 부분만 적는다.
  • Numerator2가 0이고 Integer2가 1이면 "1 x " 부분도 함께 뺀다.
  • 분수선은 '-'를 분모의 자릿수만큼 이어 붙인 것이다. 분자는 분수선 위에 오른쪽 정렬해 적고, 분모는 분수선 바로 아래에 적는다.
  • 근호는 'V89'로 적고, '89' 바로 위 두 칸에 '_'를 하나씩 놓는다.
  • 상자의 너비는 가운데 줄의 길이에 맞춘다. 첫 줄과 마지막 줄은 ''로만 채우고, 가운데 세 줄은 ''로 시작해 '*'로 끝난다.
  • 숫자 말고 쓰는 문자는 '*'(아스키 코드 42), ' '(32), '_'(95), '-'(45), 'x'(120), 'V'(86)뿐이다.
  • 테스트 케이스 하나를 출력할 때마다 그 뒤에 빈 줄을 하나 넣는다.

힌트

nn이 10810^8이면 모양이나 크기가 서로 다른 불운한 삼각형이 637149947637149947개 있다.

n=8n = 8인 경우를 보자. 에너지가 8 이하인 불운한 삼각형은 (5,8,89)(5, 8, \sqrt{89}), (10,16,289)(10, 16, 2\sqrt{89}), (15,24,389)(15, 24, 3\sqrt{89}), (20,32,489)(20, 32, 4\sqrt{89}), (4,47,589)(4, 47, 5\sqrt{89}), (17,44,589)(17, 44, 5\sqrt{89}), (25,40,589)(25, 40, 5\sqrt{89}), (30,48,689)(30, 48, 6\sqrt{89}), (35,56,789)(35, 56, 7\sqrt{89}), (40,64,889)(40, 64, 8\sqrt{89})의 열 개다. 둘레를 모두 더하면 580+4689580 + 46\sqrt{89}이므로 평균은 (580+4689)/10(580 + 46\sqrt{89}) / 10이다.

예제2

  1. 예제 1

    입력
    1
    8
    9
    89
    99999999
    
    예상 출력
    **********
    *      __*
    *13 + V89*
    *        *
    **********
    
    ***************
    *      3    __*
    *58 + 4- x V89*
    *      5      *
    ***************
    
    ****************
    *   4        __*
    *63-- + 5 x V89*
    *  11          *
    ****************
    
    ********************
    *   37     13    __*
    *598-- + 48-- x V89*
    *   90     18      *
    ********************
    
    **********************************************
    *          93224754            97600661    __*
    *620114538--------- + 51235071--------- x V89*
    *         106191655           318574965      *
    **********************************************
    
  2. 예제 2

    입력
    2
    3
    
    예상 출력
    ****************
    *  1    1    __*
    *19- + 1- x V89*
    *  2    2      *
    ****************
    
    **************
    *          __*
    *26 + 2 x V89*
    *            *
    **************