題目如下
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去跑才出問題????
作者:
wt5566 (commend & comment)
2015-07-02 23:31:00如果題目沒打錯的話就是5了費式數列是"i<=n", 1,1,2,3,5,8 第6個數是8