2014-12-03 5 views
0

for 루프를 사용하여 피보나치의 n 번째 단계를 알려주려고합니다. 내가 지금까지이 것은 내가 일이 그것을 만들기 위해 노력했습니다 어떻게for 루프를 사용하여 JavaScript로 fibonacci의 특정 단계를 계산하십시오.

var x=1; 
var y=1; 

var call = function(n) { 
    if (n===1||2) { 
      alert(1); 
     } 
    else { 
    for(i=3; i<n+1; i++) { 
      y=(x+y); 
      x=y-x; 
      if (i===n) { 
      alert(y); 
      } 
     } 
    } 
}; 
call(prompt("Calculate Fibonacci to how many steps?")); 

입니다 :

  1. 변수 x와 y를 설정
  2. 1 다음을 수행라는 이름의 함수 호출을 만들기 :
  3. 확인 함수가 호출 될 때 설치 개수는 1 또는 2, 경우 그렇다면 경고 한 (1 처음 두 피보나치 단계 임), n은 카운트에서 루프를 시작, 1 또는 2가 아닌 경우
  4. 를 = 3
  5. 수는 호출 된 단계보다보다 1이 다음 를 실행하는 경우 : 총이 총
  6. 집합 X에
  7. 추가 x와 함께
  8. 설정 Y Y, 마이너스 X
  9. 경우 나는를 변경하는 경우에도, 카운트 카운트 하나를 추가 다시 루프를 통해

가서 총

  • 와,라는 단계와 동일한 경고입니다 그러나 나는 항상 1 경고하고 있습니다 첫 번째 if 문에서 1부터 문자열까지 경고합니다. 코드 또는 로직에 오류가 있는지 확실하지 않습니다.

    for 루프는 가장 효율적인 방법은 아니지만 학습을 위해이 방법을 사용하고 싶습니다. 저는 코드 아카데미에서 몇 가지 교훈 만 얻었으므로 제 경험은 매우 제한적입니다. 이 또는 매우 유사한 문제를 해결 다른 페이지는

    if (n===1||n===2) { 
    

    귀하의 코드로

    Fibonacci calculator steps
    http://ecomputernotes.com/js/javascript-tutorial/javascript-for-loop
    https://answers.yahoo.com/question/index?qid=20091001160834AA5xiZ1

  • 답변

    1

    if (n===1||2) { 
    

    필요하다 항상 진실 인 2의 진리를 평가하고 있습니다.

    또한 반복 할 때마다 i===n을 평가할 필요가 없습니다. 이것은 루프의 마지막 반복 후에 만 ​​적용되므로 루프 이후에는 단지 alert(y)이됩니다.

    관련 문제