JavaScript를 사용한 피보나치 수

Javascriptleul Sayonghan Pibonachi Su



“자바스크립트는 이제 ECMAScript입니다. JavaScript의 개발은 ECMAScript로 계속됩니다. 이전 버전과의 호환성을 위해 'javascript'라는 예약어가 계속 사용됩니다.'

피보나치 수의 의미

피보나치 수는 0부터 시작하는 특정 양의 정수 시퀀스입니다. 정수는 양의 정수입니다. 따라서 피보나치 수는 0부터 시작하는 정수 또는 자연수의 특정 시퀀스입니다. 이 시퀀스에서 처음 두 숫자는 0과 1입니다. 나머지 숫자는 이전 두 숫자를 더하여 거기에서 개발됩니다. 처음 12개의 피보나치 수는 다음과 같이 얻습니다.

0
1
1 + 0 = 1
1 + 1 = 2
2 + 1 = 3
3 + 2 = 5
5 + 3 = 8
8 + 5 = 13
13 + 8 = 21
21 + 13 = 34
34 + 21 = 55
55 + 34 = 89







즉, 처음 12개의 피보나치 수는 다음과 같습니다.



0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89



물론 13번째 숫자는 144 = 55 + 89입니다. 피보나치 수는 다음과 같이 배열에 있다고 상상할 수 있습니다.





0 1 1 5 8 13 이십 일 3. 4 55 89

배열에는 인덱스가 있습니다. 다음 표에서 두 번째 행은 배열의 피보나치 수에 해당하는 0부터 시작하는 인덱스를 보여줍니다.

0 1 1 5 8 13 이십 일 3. 4 55 89
0 1 4 5 6 7 8 9 10 열하나

0부터 시작하는 인덱스를 사용하여 12개의 요소가 있는 경우 마지막 인덱스는 11입니다.



피보나치 수는 O(n) 시간 또는 O(1) 시간에 생성할 수 있습니다. 이러한 시간 복잡도 표현에서 n은 n개의 주요 연산을 의미하고 1은 1개의 주요 연산을 의미한다. O(n)을 사용하면 0부터 시작하여 n개의 피보나치 수를 생성합니다. O(1)을 사용하면 해당 인덱스에서 하나의 피보나치 수를 생성합니다. 이것이 O(1)이 n개의 주요 연산 대신에 단 하나의 주요 연산을 취하는 이유입니다.

이 기사의 목적은 오늘날 실제로 ECMAScript인 JavaScript를 사용하여 어느 쪽이든 피보나치 수를 생성하는 방법을 설명하는 것입니다.

코딩 환경

node.js 환경은 독자가 예상한 대로 사용되지 않습니다. 대신, 브라우저는 코드를 해석하고 결과를 표시하는 데 사용됩니다. 스크립트(코드)는 텍스트 편집기 파일로 작성해야 하며 확장자는 '.html'로 저장되어야 합니다. 스크립트에는 최소한의 코드가 있어야 합니다.

DOCTYPE HTML >
< HTML >
< 머리 >
< 제목 > JavaScript를 사용한 피보나치 수 제목 >
머리 >
< 신체 >
< 스크립트 유형 = '텍스트/에마스크립트' >

스크립트 >
신체 >
HTML >

이것은 웹 페이지에 필요한 대략적인 최소 코드입니다. 이 기사의 모든 코딩은 태그 사이에 있습니다.

작성된(추가된) 코드를 실행하려면 파일 이름의 아이콘을 두 번 클릭하기만 하면 컴퓨터의 브라우저에서 해당 파일을 엽니다.

피보나치 수의 정의

피보나치 수에 대한 수학적 정의가 있습니다. 다음과 같이 정의됩니다.

여기서 Fn은 0부터 시작하는 인덱스 n에 해당하는 피보나치 수입니다.

처음 두 숫자인 0과 1은 순서대로 미리 선언됩니다. 이 함수의 마지막 줄은 나머지 숫자가 순서대로 처음 두 숫자에서 유래하는 방법을 보여줍니다.

이 정의는 또한 피보나치 수의 공식 중 하나입니다.

O(n) 시간에 피보나치 수 생성하기

n이 1이면 0만 피보나치 수로 표시됩니다. n이 2이면 0과 1이 순서대로 피보나치 수로 표시됩니다. n이 3이면 0, 1, 1이 그 순서대로 피보나치 수로 표시됩니다. n이 4이면 0, 1, 1, 2가 순서대로 피보나치 수로 표시됩니다. n이 5이면 0, 1, 1, 2, 3이 순서대로 피보나치 수로 표시됩니다. n이 6이면 0, 1, 1, 2, 3, 5가 그 순서대로 피보나치 수로 표시됩니다.

처음 n개의 피보나치 정수(숫자)를 생성하는 ECMAscript 함수는 다음과 같습니다.

< 스크립트 유형 = '텍스트/에마스크립트' >
기능 피보나치 ( ) {
N = ㅏ. 길이 ;
만약에 ( N > 0 )
[ 0 ] = 0 ;
만약에 ( N > 1 )
[ 1 ] = 1 ;
~을 위한 ( = ; < N ; ++ ) { //n=0 및 n=2가 고려되었습니다.
커No = [ - 1 ] + [ - ] ;
[ ] = 커No ;
}
}

닫는 스크립트 태그가 표시되지 않았습니다. 함수는 배열을 받습니다. 처음 두 개의 피보나치 수는 해당 위치에 할당됩니다. for 루프는 0부터 시작하는 인덱스 2에서 n 바로 아래까지 반복합니다. for 루프에서 가장 중요한 문장은 다음과 같습니다.

currNo = A[i – 1] + A[i – 2];

이것은 배열의 바로 앞의 두 숫자를 추가하여 현재 숫자를 갖습니다. fibonacci() 함수가 실행을 완료할 때까지 배열의 모든 요소는 처음 n개의 피보나치 수입니다. fibonacci() 함수를 호출하고 피보나치 수를 표시하는 적절한 코드는 다음과 같습니다.

N = 12 ;
= 새로운 정렬 ( N ) ;
피보나치 ( ) ;
~을 위한 ( = 0 ; < N ; ++ )
문서. 쓰다 ( [ ] + ' ' ) ;
문서. 쓰다 ( '
'
) ;
스크립트 >

이 코드는 닫는 스크립트 태그를 보여줍니다. 코드는 위의 코드 아래에 입력됩니다. 웹 페이지에 표시되는 출력은 다음과 같습니다.

0 1 1 2 3 5 8 13 21 34 55 89

예상대로.

O(1) 시간에 하나의 피보나치 수 생성

O(1)은 일정한 시간입니다. 하나의 주요 작업을 나타냅니다. 피보나치 수를 생성하는 또 다른 수학 공식은 다음과 같습니다.

방정식의 오른쪽에서 n의 거듭제곱은 5의 제곱근이 아닙니다. n의 거듭제곱은 괄호 안의 표현식입니다. 그런 표현이 두 가지 있습니다.

n이 0이면 Fibn은 0이 됩니다. n이 1이면 Fibn이 1이 됩니다. n이 2이면 Fibn이 1이 됩니다. n이 3이면 Fibn이 2가 됩니다. n이 4이면 Fibn이 3이 됩니다. 등등. 독자는 n에 다른 값을 대입하고 평가하여 이 공식을 수학적으로 확인할 수 있습니다. n은 이 공식에서 0부터 시작하는 인덱스입니다. 결과는 해당하는 피보나치 수입니다.

이 수식의 ECMAScript(JavaScript) 코드는 다음과 같습니다.

< 스크립트 유형 = '텍스트/에마스크립트' >
기능 fibNo ( N ) {
섬유질 = ( 수학 . ( ( 1 + 수학 . 평방 미터 ( 5 ) ) / , N ) - 수학 . ( ( 1 - 수학 . 평방 미터 ( 5 ) ) / , N ) ) / 수학 . 평방 미터 ( 5 ) ;
반품 섬유질 ;
}

닫는 스크립트 태그가 표시되지 않았습니다. 거듭제곱(pow) 및 제곱근(sqrt) 미리 정의된 함수가 어떻게 사용되었는지 주목하십시오. ECMAScript(JavaScript)에서는 Math 모듈을 가져올 필요가 없습니다. fibNo() 함수는 공식을 직접 구현합니다. 웹 페이지에서 fibNo() 함수에 대한 적절한 호출 및 표시는 다음과 같습니다.

N = 열하나 ;
오른쪽 = fibNo ( N ) ;
문서. 쓰다 ( 오른쪽 ) ;
스크립트 >

코드는 닫는 스크립트 태그를 보여줍니다. 출력은 다음과 같습니다.

89.00000000000003

답에서 불필요한 소수 자릿수를 제거하는 것이 가능합니다. 그러나 그것은 다른 시간 동안의 논의입니다.

둘 이상의 피보나치 수가 필요한 경우 코드는 해당 n 인덱스를 기반으로 하는 각 0에 대해 공식을 한 번씩 호출해야 합니다.

결론

피보나치 수는 0부터 시작하는 특정 양의 정수 시퀀스입니다. 정수는 양의 정수입니다. 따라서 피보나치 수는 0부터 시작하는 정수 또는 자연수의 특정 시퀀스입니다. 이 시퀀스에서 처음 두 숫자는 0과 1입니다. 이 처음 두 숫자는 그대로 정의됩니다. 나머지 숫자는 바로 앞의 두 숫자를 더하여 거기에서 개발됩니다.

처음 두 개의 피보나치 수를 생성한 후 나머지 피보나치 수를 생성하기 위해 총 n개의 숫자로 끝내려면 for 루프를 다음 명령문과 함께 사용해야 합니다.

currNo = A[i – 1] + A[i – 2];

이것은 현재 피보나치 수를 갖기 위해 바로 마지막 두 개의 피보나치 수를 더합니다.

0부터 시작하는 인덱스가 주어졌을 때 해당하는 피보나치 수를 가지려면 다음 공식을 사용하십시오.