费波拉奇数列,相信大家都听过,但就这个小小的程序,如果你把它的数值调大的一点,然后。。。听听大多数CPU疯狂转动的声音,WOW,不知整了多少班上的女同学------每天都跑来找我们,“这怎么回事啊,快帮我解决一下 “ - // 费波拉奇数列:从0和1开始,后续的每个费波拉奇数字都是前两个数字的和
- $ s9 b- N, _# o. Y
- #include <iostream>4 Q M+ P7 c& ?
- 1 G7 \5 H3 U! s
- using std::cout;
- 9 D% `* P; T y& p: k3 }
- using std::cin;( t% M3 j! u Q6 y5 [/ V/ ~
- using std::endl;1 N9 ], A R9 i. ?1 r
- - |' O \: Y+ ~+ b
- % A' h/ P8 k* P1 ?4 r# g
- unsigned long fibonacci( unsigned long );
- . s1 R \$ P, Z( I Y: m( Y% q
- & U: K1 G- U7 a' n3 y5 G, u
- int main( void )
- , y7 @7 h4 b7 ]0 h
- {
- * W0 S! g& a1 u% V/ Z: _
- unsigned long result, number;+ b1 f7 H. d G
- 5 @9 ?, Q3 D& g
- cout << "Enter an integer: ";
- * ?9 p, q- Q' H* l l4 y
- cin >> number;
- 8 e6 ^: l$ ~\\" E) G2 v9 p
- result = fibonacci( number );
- 4 C* `- U) H+ t/ \+ X- l
- cout << "Fibonacci( "<< number << " ) = " << result << endl;
- & ?; a. ?- @8 l
- return 0;+ v/ U$ W, I& y: k2 B
- }1 v! ?+ g0 W9 m' o- Y5 i
- + u' K& e! k+ O2 m2 n- [/ Y
- unsigned long fibonacci( unsigned long n )
- \\" z% |! B7 d' z6 L- W# \; K; x
- {! `5 M) y2 ^+ L
- if ( n == 0 || n == 1 )
- 4 ?: b( j9 p\\" g7 d$ K! j
- return n;
- # F5 J6 i# b, k
- else
- & `! ^) D) j/ @
- return fibonacci( n -1 ) + fibonacci( n - 2 );
- 3 L, B- h, T& v0 O- ?* j\\" D
- }$ l: t9 W- [5 ?9 ~
|