费波拉奇数列,相信大家都听过,但就这个小小的程序,如果你把它的数值调大的一点,然后。。。听听大多数CPU疯狂转动的声音,WOW,不知整了多少班上的女同学------每天都跑来找我们,“这怎么回事啊,快帮我解决一下 “ - // 费波拉奇数列:从0和1开始,后续的每个费波拉奇数字都是前两个数字的和
- # D9 ^7 h1 J. M2 ?+ L4 B; I2 I
- #include <iostream>
- ' G5 o; M# X, B; i2 T
- : K2 U$ S% w( Z/ [& h2 m' a
- using std::cout;1 L7 h4 J3 Y3 \- j: g
- using std::cin;
- 6 a' u/ d; B8 j% x1 u2 u
- using std::endl;, h- q1 R- B0 _$ f' x' r
- 8 O\\" O# X8 N }4 n5 H: V
- 5 o7 V- \- t) c2 A\\" z; ~% f
- unsigned long fibonacci( unsigned long );
- - j\\" L0 E6 i2 P, x3 x. F5 H: E! V
- 9 S2 @* x5 }% m3 Z) k e3 @- }% z
- int main( void )
- * k7 J, q X) X5 U9 ]) c* F
- {$ b$ D/ F- h; b+ l8 }- u
- unsigned long result, number;$ N# v# A\\" Y8 n/ L
- : r. Q9 }0 W: Q& `. J- F6 o% E( R
- cout << "Enter an integer: ";
- , V4 U3 ]5 v7 H8 K& C2 P
- cin >> number;0 m; e6 m! C4 p% O
- result = fibonacci( number );
- , e H U5 y; O& X- B. h8 ~
- cout << "Fibonacci( "<< number << " ) = " << result << endl;& A2 f- i2 {4 Z ~6 ~
- return 0;
- 4 R5 ?$ s8 [2 g3 ]) ~. A
- }
- & m6 n( g# O, }& T' p- x
- $ d: t h v3 l; }
- unsigned long fibonacci( unsigned long n )
- 3 K; q' ]6 T4 m/ x
- {
- & m\\" ]2 O6 m& Q0 h4 `- h\\" G/ m m2 T, Z
- if ( n == 0 || n == 1 )* O4 w. P! _0 J; M' U) m$ R
- return n;
- / l/ C& |0 U8 P
- else
- - h- ?* ^+ y/ {9 d
- return fibonacci( n -1 ) + fibonacci( n - 2 );* Q0 G7 T2 b% ^9 {/ E) }# H
- }8 y% q: [1 G' {$ g0 U# D6 D9 g
|