프로그래밍 언어나 알고리즘을 배운 사람은 반드시 양희삼각형(고대 중국 수학의 뛰어난 연구 결과 중 하나)과 접촉하게 됩니다. 그 자체로는 심오하지 않습니다. 오늘은 PHP를 사용하여 4행 3열의 양회삼각형을 출력하는 프로그램을 작성하겠습니다.
먼저 양희삼각형을 이해해 봅시다.
양휘의 삼각형은 뉴턴의 이항계수를 삼각형으로 기하학적으로 배열한 것입니다. 그 안의 각 숫자는 위의 두 숫자의 합과 같습니다.
위 그림에서 패턴을 쉽게 찾을 수 있습니다.
각 행 전후의 요소는 1
행에 여러 요소가 있습니다.
세 번째 행부터 시작 , 각 행의 시작과 끝을 제외하고 다른 모든 요소는 위의 인접한 두 요소의 합입니다(이전 행의 같은 위치에 있는 숫자 + 이전 행의 같은 위치에 있는 이전 숫자의 합).
패턴을 찾았으니 알고리즘을 설정한 다음 알고리즘에 따라 프로그램을 설정할 수 있습니다. (이 글에서는 배열 + 이중 for 루프 중첩을 사용하여 Yang Hui의 삼각형을 구현합니다. for 루프에 대해 모르신다면, "PHP 루프 학습 3: for 루프문 사용법"을 확인해 보세요. 배열 탐색》)
알고리즘 분석: i행과 j열의 배열이 있습니다(j는 i보다 작거나 같습니다)
이중 for 루프, 루프의 첫 번째 수준은 배열의 i행을 통과하고, 루프의 두 번째 수준은 배열 j열을 통과합니다. 그리고 배열의 j 열 값은 배열의 i 행 값보다 작거나 같아야 합니다
if 문은 j=1일 때 두 번째 수준 루프 본문에서 사용됩니다.
또는 i=j code>, 값은 <code>$array[i][j] = 1
이고 다른 경우에는 $입니다. 배열[i][j]
= $array[ i-1 ][ j-1 ]+$array[ i-1 ][ j ]
j=1
或者 i=j
时,值为$array[i][j] = 1
;
而其他时候, $array[i][j]
= $array[ i-1 ][ j-1 ]
+$array[ i-1 ][ j ]
<?php function yh_put($max) { $array = []; // 循环列数 for($i = 1; $i <= $max; $i++) { // 循环行数 for( $j=1; $j <= $i; $j++) { // 每行的第一个和最后一个都是1 if( $j == 1 || $j == $i ) { echo $array[$i][$j] = 1; } else { // 上一行同位置的数 + 上一行同位置的前一位数之和 echo $array[$i][$j] = $array[ $i-1 ][ $j-1 ]+$array[ $i-1 ][ $j ]; } echo " "; } echo "<br>"; } unset($array); } yh_put(10);
PHP 함수 배열 배열 함수 동영상 설명, 와서 배워보세요!
위 내용은 PHP 프로그램을 통해 10줄의 양회삼각형을 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!