삼각수, 오각수, 육각수는 아래 식으로 구할 수 있습니다.
삼각수 Tn = n (n + 1) / 2 1, 3, 6, 10, 15, ...
오각수 Pn = n (3n − 1) / 2 1, 5, 12, 22, 35, ...
육각수 Hn = n (2n − 1) 1, 6, 15, 28, 45, ...
여기서 T285 = P165 = H143 = 40755 가 됩니다.
오각수와 육각수도 되는, 그 다음으로 큰 삼각수를 구하세요.
Click 삼각수 Tn = n (n + 1) / 2 1, 3, 6, 10, 15, ...
오각수 Pn = n (3n − 1) / 2 1, 5, 12, 22, 35, ...
육각수 Hn = n (2n − 1) 1, 6, 15, 28, 45, ...
여기서 T285 = P165 = H143 = 40755 가 됩니다.
오각수와 육각수도 되는, 그 다음으로 큰 삼각수를 구하세요.
44번을 풀었다면 쉽게 구할 수 있는 문제인 듯 하네요.
H(n) = n (n - 1) = 2n (n - 1)/2 = (2n - 1)((2n - 1) + 1)/2 = T(2n - 1)
위 식에 의해 H(n) = T(2n-1) 이므로 P = H 가 같은 경우만 찾으면 됩니다.
P(p) = H(h)
p(3p-1)/2 = h(2h-1)
p(3p-1) = 2h(2h-1)
3p²- p = 4h²- 2h
36p²- 12p = 48h²- 24h
36p²- 12p + 1 = 48h²- 24h + 1
(6p-1)²= 48h²- 24h + 1
6p - 1 = √(48h²- 24h + 1)
6p = √(48h²- 24h + 1) + 1
p = (√(48h²- 24h + 1) + 1)/6
p(3p-1)/2 = h(2h-1)
p(3p-1) = 2h(2h-1)
3p²- p = 4h²- 2h
36p²- 12p = 48h²- 24h
36p²- 12p + 1 = 48h²- 24h + 1
(6p-1)²= 48h²- 24h + 1
6p - 1 = √(48h²- 24h + 1)
6p = √(48h²- 24h + 1) + 1
p = (√(48h²- 24h + 1) + 1)/6
위의 p값이 정수값이 되는 h를 구하면 됩니다.
<script language="Javascript" type="text/javascript"> function p045(){ for(var h=144; ; h++){ var p = (Math.sqrt(48*h*h - 24*h + 1) + 1)/6; if(p == parseInt(p)) break; } alert(h*(2*h-1)); } </script>
댓글 없음:
댓글 쓰기