>  기사  >  백엔드 개발  >  PHP 프로그램을 통해 10줄의 양회삼각형을 얻는 방법

PHP 프로그램을 통해 10줄의 양회삼각형을 얻는 방법

青灯夜游
青灯夜游원래의
2021-08-10 12:13:393808검색

프로그래밍 언어나 알고리즘을 배운 사람은 반드시 양희삼각형(고대 중국 수학의 뛰어난 연구 결과 중 하나)과 접촉하게 됩니다. 그 자체로는 심오하지 않습니다. 오늘은 PHP를 사용하여 4행 3열의 양회삼각형을 출력하는 프로그램을 작성하겠습니다.

먼저 양희삼각형을 이해해 봅시다.

양휘의 삼각형은 뉴턴의 이항계수를 삼각형으로 기하학적으로 배열한 것입니다. 그 안의 각 숫자는 위의 두 숫자의 합과 같습니다.

PHP 프로그램을 통해 10줄의 양회삼각형을 얻는 방법

위 그림에서 패턴을 쉽게 찾을 수 있습니다.

  • 각 행 전후의 요소는 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 프로그램 코드를 살펴보겠습니다.

<?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 프로그램을 통해 10줄의 양회삼각형을 얻는 방법

그렇습니다. 더 알고 싶다면 여기를 클릭하세요. → →

php 동영상 튜토리얼

마지막으로 PHP 배열에 대한 무료 동영상 튜토리얼을 추천합니다:

PHP 함수 배열 배열 함수 동영상 설명, 와서 배워보세요!

위 내용은 PHP 프로그램을 통해 10줄의 양회삼각형을 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.