费波拉奇数列,相信大家都听过,但就这个小小的程序,如果你把它的数值调大的一点,然后。。。听听大多数CPU疯狂转动的声音,WOW,不知整了多少班上的女同学------每天都跑来找我们,“这怎么回事啊,快帮我解决一下 “ - // 费波拉奇数列:从0和1开始,后续的每个费波拉奇数字都是前两个数字的和
- ' u8 z9 e2 D r0 A/ V A, P2 t. V, g
- #include <iostream>
- E2 z' Y7 S: B
- & g5 Y7 ~8 M/ J' O
- using std::cout;
- / {* M4 p# g& N, _
- using std::cin;
- 7 `! ^$ g0 X% K9 ^) A: ], L
- using std::endl;0 L0 Y- @3 k% ~ m3 `
- 0 A1 |; H3 K( a$ x0 f- h Z\\" C* ~
- + G\\" S7 c& E7 j
- unsigned long fibonacci( unsigned long );
- 8 u/ y' e% e6 d' h+ O
- - S/ [0 w( M, l4 ^( x1 l: d( r
- int main( void )
- ; X\\" J5 g$ K5 W, Z
- {9 l& d P9 E' u2 @' O
- unsigned long result, number;
- 3 O\\" c) f4 J% p+ W
- 4 O c' Q7 M; X/ f4 q# T! U' H
- cout << "Enter an integer: ";6 Y S. `1 A( K1 i$ _
- cin >> number;
- $ E9 |: C) n7 e% F\\" z, }
- result = fibonacci( number );: ?# b0 a5 P0 j3 D2 p
- cout << "Fibonacci( "<< number << " ) = " << result << endl;6 B* C( u+ `, p7 [* e* s
- return 0;
- - k( m9 j! a# R; M9 k0 K9 @
- }# ?8 t1 }% l' E a5 ]
- F f. v! [) M6 u0 w/ ?
- unsigned long fibonacci( unsigned long n )
- 5 o1 M% g2 ?) P
- {/ A; x9 K. |/ M% A; i
- if ( n == 0 || n == 1 )8 J& h7 x' U: ~) c5 f
- return n;
- 6 W2 s/ G) D% G; r( D
- else, Q( O% \& n5 N4 z6 t9 Y: l3 ^
- return fibonacci( n -1 ) + fibonacci( n - 2 );; ]\\" K3 p0 M. a/ U. m
- }
- * \: ~9 V* K\\" P\\" _7 s/ O4 g
|