코드 워드에서 문제 중 하나를 해결하려고합니다. 문제는 다음과 같습니다 :자바 스크립트에서 큰 숫자를 표시 할 때의 문제
: 수학에서, 피보나치 숫자가 모든 수는 앞의 두 사람의 합 즉, 다음과 같은 정수 순서에있는 피보나치 시퀀스를 불러 사실을 특징으로
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... 피보나치 시퀀스의 n 위치에있는 number의 문자열 표현을 반환하는 함수 getFibonacci (n) .
코드를 만들었지 만 테스트 된 숫자가 작고 많은 수의 코드가 포함되어 있고 "예상 : '30010821454963453907530667147829489881'과 같은 오류 메시지가 표시되면 모든 테스트가 실패한 경우에만 내 코드가 테스트를 통과 할 수 있습니다. 3.001082145496346e + 37 ' ". 또한 toNotExponential() 또는 expandExponential()을 반환 문 끝 부분에 추가하여 전체 숫자를 표시하려고했지만 코드 중 하나가 "toNotExponential() is not a function "또는"expandExponential()이 함수가 아닙니다. " 어떻게해야할지 모르겠다. 제발 도와주세요. 다음과 같이 내 코드 ...
function getFibonacci(n) {
var arr= [1,1];
var len = arr.length;
while(len<n){
arr.push(arr[len-1]+arr[len-2]);
len++;
}
return (arr[len-1]+"").toNotExponential();
}
[이 질문에]보십시오 (https://stackoverflow.com/questions/1685680/how-to-avoid-scientific-notation-for-large-numbers-in-javascript) – lztachyon
[ * Number.MAX_SAFE_INTEGER *] (http://ecma-international.org/ecma-262/8.0/#sec-number.max_safe_integer) '9007199254740991' 라이브러리를 사용하거나 직접 작성해야합니다. 제안 사항은 [* Javascript summing large integers *] (https://stackoverflow.com/questions/4557509/javascript-summing-large-integers)를 참조하십시오. BTW, javascript에는 int 타입이 없으며 숫자 만 있습니다. – RobG
숫자를 문자열로 저장할 수 있으며 수천을 구분 기호로 사용할 수 있습니다. 여기서 길이는 E- 표기법을 사용하지 않고 문자열의 가능한 최대'.length'에 의해 결정됩니다. [1을 어떻게 추가합니까? JavaScript에서 문자열로 표시된 큰 정수로?] (https://stackoverflow.com/questions/43614407/how-do-i-add-1-to-a-big-integer-represented-as-a-string -in-javascript /) – guest271314