>백엔드 개발 >PHP 문제 >PHP를 사용하여 피보나치 수열을 구현하는 방법

PHP를 사용하여 피보나치 수열을 구현하는 방법

青灯夜游
青灯夜游원래의
2023-02-24 10:13:414649검색

구현 방법: 1. 배열을 사용하여 찾기, 구문 "for($i=0;$i

PHP를 사용하여 피보나치 수열을 구현하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 8 버전, DELL G3 컴퓨터

피보나치 수열은 무엇입니까?

피보나치 수열, 황금분할 수열이라고도 함 수학자 레오나르도 피보나치(Leonardo Fibonacci)는 토끼 번식의 예를 사용하여 "토끼 수열"이라고도 하며 다음과 같은 수열을 나타냅니다.

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765.......

즉, 처음 두 값은 모두 1이고 세 번째 숫자부터 시작하며 각 숫자는 현재 숫자의 이전 두 자리 숫자의 합

PHP를 사용하여 피보나치 수열을 구현하는 방법

수학에서 피보나치 수열은 다음과 같이 재귀적으로 정의됩니다.

F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)
  • F: 현재 수열을 나타냅니다.

  • n: 아래 첨자 지수 열

자, 이제 피보나치 수열을 이해했으니 PHP를 사용하여 이를 구현하는 방법을 살펴보겠습니다.

방법 1: 배열

을 사용하여 위에 주어진 순서를 관찰하고 배열 지식과 결합하여 다음을 분석할 수 있습니다.

  • 배열 첨자가 0 또는 1일 때 요소의 값은 1;1

  • 数组下标为2时,元素是a[0]+a[1];

  • 数组下标为3时,元素是a[1]+a[2];

  • .....

  • 数组下标为n时,元素是a[n-2]+a[n-1];

可以得出:

  • a[0]=1

  • a[1]=2

  • a[n]=a[n-2]+a[n-1]

배열 첨자가 2인 경우 요소는 a[0]+a[1];

배열 첨자가 3인 경우 , 요소는 a[1]+a[2];PHP를 사용하여 피보나치 수열을 구현하는 방법

......

배열 첨자가 n인 경우 요소는 a[n- 2]+a[n -1];


결론을 내릴 수 있습니다:

PHP를 사용하여 피보나치 수열을 구현하는 방법

a[0]=1

a[1] =2

a[n]=a[n-2]+a[n-1] (n>2)🎜🎜🎜🎜코드 구현: 🎜
<?php
header("Content-type:text/html;charset=utf-8");
function test($num){
    $arr=[];
    for($i=0;$i<$num;$i++)
    {
        if($i==0 || $i==1){
            $arr[$i]=1;
        }else{
            $arr[$i]=$arr[$i-1]+$arr[$i-2];
        }
		echo $arr[$i]." ";
    }
}
echo "斐波那契数列前10位:";
test(10);
echo "<br>斐波那契数列前11位:";
test(11);
echo "<br>斐波那契数列前12位:";
test(12);
?>
🎜 출력: 🎜🎜🎜🎜 🎜이제 배열을 사용하여 피보나치 수열을 찾는 방법을 이해했으므로 재귀를 사용하여 피보나치 수열을 찾는 방법을 살펴보겠습니다. 🎜🎜🎜🎜방법 2: 재귀 사용🎜🎜🎜
<?php
header("Content-type:text/html;charset=utf-8");
function fbnq($n) {
	if ($n <= 0) {
		return 0;
	}
	if ($n == 1 || $n == 2) {
		return 1;
	}
	return fbnq($n - 1) + fbnq($n - 2);
}

echo "斐波那契数列第10位:" . fbnq(10);
echo "<br>斐波那契数列第11位:" . fbnq(11);
echo "<br>斐波那契数列第12位:" . fbnq(12);
?>
🎜출력: 🎜🎜🎜🎜🎜🎜재귀 방법도 구현됐는데, 아주 간단하지 않나요! 🎜🎜재귀 알고리즘은 더 짧은 코드를 사용하여 책임 있는 문제를 해결할 수 있지만 작업 효율성은 상대적으로 낮습니다. 🎜🎜추천 학습: "🎜PHP 비디오 튜토리얼🎜"🎜

위 내용은 PHP를 사용하여 피보나치 수열을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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