7 W/ {6 N2 Q; h+ V5 f/ ]( i% B: a; `using namespace std;3 z, T3 _! ?1 T5 Z5 E* {! l
% j( S* T/ E3 F. \3 j
unsigned int FiboSeq(unsigned int n) $ [( O9 B* T2 k% i/ A( `{7 A6 B+ `( I3 S3 n6 b, S; L
if(n > 1024) + v* ]: m* o7 F- s& |" K$ ~ return 0;; |- g. T! q# w, y1 }, ~
2 P# w* s8 l6 l/ B/ ~
unsigned int f_1 = 1, f_2 = 1; 6 m/ M9 ^ [2 [) z1 O Y) a; X) ~ if(n < 3)+ Z! Z+ _* f2 q4 A3 P: d( Q: }
return 1;6 c* B& p4 A% r6 A: F
3 c4 {# p; _, S4 {: B7 e7 N, M
unsigned int fibo;: o- ?% O" U) t6 O5 g+ A
for(unsigned int i = 2; i < n; i++) a$ H: S) n$ G) K* \ { 2 Z+ E6 s7 S9 e3 i( u! C* ^ fibo = f_1 + f_2;* F) H6 w8 B& Q8 t, o
f_2 = f_1;5 ^0 I4 E I, Y6 F: ]2 v
f_1 = fibo;' L, x- i+ s1 |; ]7 s( _! s: m
} ( h5 v3 K. h$ D# B& Q5 Z2 v return fibo; 4 a% C S6 Q0 O; V' p} 9 ]9 t- Q+ `6 Q+ D9 b 7 O! t, m# w8 _& t! Cint _tmain(int argc, _TCHAR* argv[]) C! f5 f. {9 F* g) G
{! i+ g( r5 T; F
char cmd;/ x* A4 k6 r! G* x2 d: I& z
* S( K h! s) g/ Y# x do# l; f' Q* g& H. r( r }) |
{ + X+ B' V: B! ~ cout << "Please input position of Fibo sequence: Position = ";- W4 l I8 a2 X$ ]8 M0 V
unsigned int num = 0;, |- W/ Y4 J9 H
cin >> num;6 |! p3 e6 d L ~: o! U0 h
" t. i9 e( J5 I( i
cout << "Fibo = " << FiboSeq(num) << endl; a" b' \9 u# ]& T! ]6 L8 z
5 K; o& F ^7 {; G; ~4 n
cout << "Press X to quit, or press any key to continue:";& v9 E, l" A4 Z/ x
cin >> cmd; 0 \6 a! S4 h) ~' p }4 d q( E1 V9 D ]6 L( A
while(cmd != 'x' && cmd != 'X'); + B/ e* w4 m" ~: K- u9 W : F! N' c/ k$ z% v4 W return 0;9 Q7 e3 q; X5 z) S' M/ `: O
}/ ^+ T* t/ }. T