n이 자연수일때 (a+b)의 n거듭제곱에 관한 이항전개식을 a에 대한 내림차순으로 쓰면 다음과 같은 형태가 된다.
이 때, 각 항에 대한 계수 k를 구하는 방법 중 가장 쉬운 방법이 파스칼 삼각형이다.
단, n값이 작을때는 매우 유용하게 사용할 수 있지만 클 때는 사용하기가 힘들다.
이 파스칼 삼각형을 PHP로 구현해봤다.
PHP에는 강력한 배열이 있어서 그리 어렵지 않게 구할 수 있었다. ^^
$p = array();
for($i=0; $i<10; $i++)
{
$t = array();
for($j=0; $j< =$i; $j++) {
$t[$j] = ((($i-$j)*$j)===0)?1:($p[$j-1]+$p[$j]);
echo $t[$j].' ';
}
$p = $t;
echo '
';
}
결과
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1
다른 언어로도 해보자. ^^)/
http://game.paran.com/webtoon/main.asp?xCode=http://cartoon.ntamin.paran.com/cartoon_view.php?id=39
이 웹툰 끝 부분이랑 비슷한거 같아요 ㅋㅋㅋ
다 해 놓고 나서... 다른것도 해보자, 여러분들은 어떤 경험이 있느냐 식... ㅋ
http://altlang.org/fest/CodeRace/VisitorsGame
대안언어축제(altlang)에서 출제되었던 손님용 게임에 비슷한 문제가 나왔습니다.
놀랍게도 1줄로도 가능하더군요.. php로 작성한 사람은 없군요.. 제가 하다가 1줄코드 보고 쫄아서 그만뒀습니다. : )
헛...이런것도 있었군요..