題目如下
int X(int n){
int i,fn,fnm1=1,fnm2=0;
if(n<=1)return n;
else{
for(i=2;i<n;i++){
fn=fnm1+fnm2;
fnm2=fnm1;
fnm1=fn;
}
return fn;
}
}
求X(6) 回傳多少
(A)5 (B)8 (C)11 (D)14
答案是(B)
個人見解,和實際程式下去跑的結果如下
i=2 , fn=1 , fnm1=1 , fnm2=1
i=3 , fn=2 , fnm1=2 , fnm2=1
i=4 , fn=3 , fnm1=3 , fnm2=2
i=5 , fn=5 , fnm1=5 , fnm2=3
看了考選部的答案,發現答案依然沒改
WHY~~~~~~~~~~~~~~~~個人感覺沒解錯啊@@,是因為我用Dev-C去跑才出問題????