> 백엔드 개발 > PHP 문제 > PHP로 Yang Hui의 이등변삼각형을 구현하는 방법

PHP로 Yang Hui의 이등변삼각형을 구현하는 방법

PHPz
풀어 주다: 2023-04-24 14:10:17
원래의
683명이 탐색했습니다.

양휘의 이등변삼각형은 수학의 고전적인 도형 중 하나입니다. 아름다운 외관을 가지고 있을 뿐만 아니라 수학적 특성도 좋아 다양한 분야에서 널리 사용되고 있습니다. 컴퓨터 프로그래밍에서는 다양한 언어를 사용하여 Yang Hui의 이등변삼각형 생성 알고리즘을 구현할 수도 있습니다. 이 기사에서는 PHP 언어를 사용하여 Yang Hui의 이등변삼각형 생성을 구현하는 방법을 소개합니다.

  1. 양휘의 이등변삼각형 개념

양휘의 이등변삼각형은 파스칼의 삼각형이라고도 합니다. 삼각형 아래 줄에는 숫자 1을 적는 삼각형입니다. 숫자는 위의 두 숫자의 합이 그 아래 줄에 있는 식입니다. 또한 각 행의 양쪽 끝은 1입니다.

다음은 양희의 이등변삼각형의 예입니다.

       1
      1 1
     1 2 1
    1 3 3 1
  1 4  6  4 1
1 5 10 10 5 1
로그인 후 복사

그 중 n번째 행의 k번째 숫자는 조합(n-1, k-1), 즉 k-로 표현할 수 있습니다. n-1개의 숫자 중에서 1을 선택합니다. 숫자의 조합 수입니다. 따라서 양휘의 이등변삼각형은 조합론에서도 널리 사용된다.

  1. PHP를 사용하여 양휘의 이등변삼각형 구현

PHP에서는 루프문과 배열을 사용하여 양휘의 이등변삼각형을 생성할 수 있습니다. 구체적인 구현 방법은 다음과 같습니다.

<?php
function generatePascalTriangle($numRows) {
  $triangle = [];
  if ($numRows > 0) {
    $triangle[] = [1];
    for ($i = 1; $i < $numRows; $i++) {
      $row = [$triangle[$i - 1][0]];
      for ($j = 1; $j < $i; $j++) {
        $row[] = $triangle[$i - 1][$j - 1] + $triangle[$i - 1][$j];
      }
      $row[] = $triangle[$i - 1][$i - 1];
      $triangle[] = $row;
    }
  }
  return $triangle;
}
로그인 후 복사

위 코드에서 먼저 generatePascalTriangle이라는 함수를 정의합니다. 이 함수는 생성해야 하는 양회 이등변삼각형의 행 수를 나타내는 $numRows 매개변수를 받습니다. 다음으로, 각 행의 숫자를 저장하기 위해 $triangle이라는 배열을 만듭니다.

$numRows가 0보다 큰 경우 첫 번째 행의 숫자 1을 $triangle에 추가합니다. 그런 다음 루프 문을 사용하여 두 번째 줄부터 순회합니다. 각 순회는 숫자 행을 생성하고 이를 $triangle에 추가합니다. 각 숫자 행을 생성하는 과정에서 또 다른 루프 문을 사용하고 이전 행의 숫자를 사용하여 현재 행의 숫자를 계산합니다. 구체적으로는 먼저 현재 행의 첫 번째 숫자인 $triangle[$i - 1][0]을 사용한 다음 현재 행의 중간 숫자인 $triangle[$i - 를 순차적으로 계산합니다. 1][$j - 1] + $triangle[$i - 1][$j], 그리고 마지막으로 현재 행의 마지막 숫자인 $triangle[$i - 1][$i - 1]을 추가합니다. 마지막으로 현재 행의 $row 번호를 가져와 $triangle에 추가합니다. 마지막으로 함수는 $triangle 배열을 반환하고 생성이 완료됩니다.

위 함수를 사용하여 Yang Hui의 이등변삼각형을 생성할 때 $numRows를 임의의 양의 정수로 설정하여 Yang Hui의 이등변삼각형을 생성하는 행 수를 제어할 수 있습니다. 동시에 이중 루프를 사용하여 생성된 숫자를 그래픽으로 출력함으로써 양휘의 이등변삼각형의 아름다운 모습을 표현할 수 있습니다.

다음은 위 함수를 사용하여 생성된 Yang Hui의 이등변삼각형의 예입니다.

$numRows = 6;
$triangle = generatePascalTriangle($numRows);
for ($i = 0; $i < $numRows; $i++) {
  for ($j = 0; $j <= $i; $j++) {
    echo $triangle[$i][$j] . " ";
  }
  echo "<br>";
}
로그인 후 복사

위 코드에서 먼저 $numRows를 6으로 설정하여 6행의 숫자를 생성해야 함을 나타냅니다. 그런 다음 generatePascalTriangle 함수를 사용하여 Yang Hui의 이등변삼각형을 생성하고 이중 루프를 사용하여 $triangle 배열을 순회하여 숫자를 그래픽 형식으로 출력합니다. 마지막으로 다음과 같은 출력 결과를 얻을 수 있습니다.

1 
1 1 
1 2 1 
1 3 3 1 
1 4 6 4 1 
1 5 10 10 5 1
로그인 후 복사
  1. Summary

이 기사에서는 Yang Hui의 이등변삼각형의 개념과 이를 조합 수학에 적용하는 방법을 소개하는 동시에 PHP 언어를 사용하여 구현하는 방법도 소개합니다. Yang Hui의 이등변삼각형 생성 알고리즘. 이 기사의 소개를 통해 독자들은 배열과 루프 문을 사용하여 Yang Hui의 이등변삼각형을 생성하는 방법을 배울 수 있으며 배열과 루프 문을 적용하여 다른 유사한 문제를 해결할 수도 있습니다.

위 내용은 PHP로 Yang Hui의 이등변삼각형을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿