费波拉奇数列,相信大家都听过,但就这个小小的程序,如果你把它的数值调大的一点,然后。。。听听大多数CPU疯狂转动的声音,WOW,不知整了多少班上的女同学------每天都跑来找我们,“这怎么回事啊,快帮我解决一下 “ - // 费波拉奇数列:从0和1开始,后续的每个费波拉奇数字都是前两个数字的和# F& w) C4 {% c( N: t$ p# r0 |
- #include <iostream>
- , c) g* e5 f0 l
- m7 f% `( H: U, y
- using std::cout;
- # o* V' l- Y+ Q+ x1 T: t
- using std::cin;- u5 f& j& e5 C3 o& J5 a
- using std::endl;
- 0 }. X6 X0 ~- n6 R$ q+ Z
- 4 ^$ a( [/ ^/ L4 C\\" y/ }1 m\\" i0 t5 U
- 8 ~; u* K2 | x! a: X# Q
- unsigned long fibonacci( unsigned long );
- 2 x) x# {$ o1 \\\" Y+ h- I
- 5 C4 o; e4 J- }
- int main( void )
- ( P5 e9 R) d8 ?
- {
- , o3 a, l. c9 t7 S, g) j
- unsigned long result, number;9 k9 y1 `: ^7 n! O' v% j( h, Q' o
- ' A& m/ b\\" l( X( C8 f
- cout << "Enter an integer: ";' W5 z% V5 o\\" D! ^\\" {- L* \
- cin >> number;1 r\\" h, ^2 s* D3 g1 ?) B\\" s1 G: b
- result = fibonacci( number );
- : z8 A, M, t/ n- j4 N
- cout << "Fibonacci( "<< number << " ) = " << result << endl;
- 9 B4 D' H' n: J
- return 0;1 o8 L0 `- X- _' s- x/ n
- }/ v8 h5 x# v$ V/ z% E8 |
- 5 b, l) c5 v# g: s+ W, ?\\" o! f1 j
- unsigned long fibonacci( unsigned long n )$ ]3 _$ j/ i9 L- l) T; n6 {9 [8 N
- {/ f6 k8 D( O$ [( x
- if ( n == 0 || n == 1 )
- 5 |+ [3 i9 g+ N# U4 w9 v3 C# p
- return n;
- & ~3 I4 D c/ H; D% i& D$ A7 |! `' ]
- else5 O0 s* m- o: o
- return fibonacci( n -1 ) + fibonacci( n - 2 );' m; \* U: `3 }+ U. `8 {
- }2 ?. B0 V! n ~0 X+ Q* P# K9 Z
|