St. Ives
시간 제한1초메모리 제한128 MB
0이 나올 때까지 각 실수 n에 대해 1 + n + n^2 + n^3 + n^4를 소수 둘째 자리까지 반올림해 출력한다.
문제
방물장수 로버트(중세의 떠돌이 상인)는 천, 리본, 바늘을 팔기 위해 고향 마을과 세인트아이브스(St. Ives)를 오가며 정기적으로 여행을 다녔다. 어느 날 그는 기이한 행렬과 마주쳤다.
세인트아이브스로 가는 길에
나는 아내가 일곱인 남자를 만났네.
아내마다 자루를 일곱 개씩 지녔고,
자루마다 고양이가 일곱 마리씩 있었고,
고양이마다 새끼가 일곱 마리씩 있었네.
새끼, 고양이, 자루, 아내 —
세인트아이브스로 가던 이는 몇이었나?
이 오래된 수수께끼의 답은 하나다. 세인트아이브스로 가던 사람은 로버트뿐이었고, 나머지는 모두 반대 방향으로 가고 있었기 때문이다. 하지만 반대로 그 남자와 함께 이동한 무리가 몇인지 묻는다면 다음을 더하면 된다.
- 남자 1명
- 아내 7명
- 개의 자루
- 마리의 고양이
- 마리의 새끼 고양이
합계는 2801이다.
이후의 여행에서 로버트는 같은 남자를 다시 만났는데, 이번에는 아내가 3명이었고 각자 자루를 3개씩 지니는 식이었다. 이 기이한 의식이 궁금해진 로버트는 이후 한 해 동안 남자를 만날 때마다 함께 이동한 인원의 평균값을 기록했다. 평균값 (남자당 아내 수, 아내당 자루 수, 자루당 고양이 수, 고양이당 새끼 수가 모두 )이 주어질 때, 행렬의 크기는 다음과 같다.
입력
입력은 여러 개의 데이터 집합으로 이루어진다. 각 데이터 집합은 실수 하나가 적힌 한 줄이며, 이는 한 번의 마주침에서의 공통 평균값(남자당 아내 수, 아내당 자루 수, 자루당 고양이 수, 고양이당 새끼 수)을 뜻한다.
값이 인 줄은 입력의 끝을 나타내며 처리하지 않는다.
출력
각 데이터 집합에 대해 행렬의 크기 를 소수점 아래 둘째 자리까지 반올림한 실수로, 한 줄에 하나씩 출력한다.