费波拉奇数列,相信大家都听过,但就这个小小的程序,如果你把它的数值调大的一点,然后。。。听听大多数CPU疯狂转动的声音,WOW,不知整了多少班上的女同学------每天都跑来找我们,“这怎么回事啊,快帮我解决一下 “ - // 费波拉奇数列:从0和1开始,后续的每个费波拉奇数字都是前两个数字的和/ w0 d% w$ P! k- p& t8 f
- #include <iostream>
- 0 h! h5 E3 I3 p/ d
- # R, T8 t2 R! V
- using std::cout;' i+ L% K9 u7 S3 e* V# w- V: r
- using std::cin; I6 B% w3 N% r2 J\\" d
- using std::endl;
- & X& L3 H! J$ L; i) a- l
- 4 a; L: g: `* R7 \5 k
- 8 w. l+ e. J7 C% h0 g% ?
- unsigned long fibonacci( unsigned long );& P( P8 X; t7 A! |
- # J6 A) S+ j6 W4 e# ^* @, c8 K
- int main( void )
- 6 a7 D! ^# Z0 i( a
- {
- $ \4 A3 a7 \# Q' L3 n' K
- unsigned long result, number;
- $ W# e- M! X2 y
- % C4 G; O' f' H* A+ \- S
- cout << "Enter an integer: ";
- 2 j& K# \+ i. N2 V, a& x; J
- cin >> number;
- - x$ K% p* v% ^- b4 m/ `
- result = fibonacci( number );
- 5 \. f: K. n, l, K
- cout << "Fibonacci( "<< number << " ) = " << result << endl;+ H0 q* O; |) j\\" z! i7 P; ~$ b
- return 0;
- 5 p# y+ c+ D. S, Y
- }
- $ w' \4 Q4 J2 ]7 O$ Z6 w2 z
- j% e9 n$ F1 Z, U `+ e\\" r, ^6 h
- unsigned long fibonacci( unsigned long n )
- ( F! [7 w- f+ @
- {
- 3 M) P$ [3 h/ c+ l
- if ( n == 0 || n == 1 ) j+ Z7 C1 y4 g4 ~) X
- return n;9 ~: }& Y& H) S, F: u7 b
- else( g+ S$ _# N3 K
- return fibonacci( n -1 ) + fibonacci( n - 2 );
- 5 V R) h! s( p1 M. @ m$ B1 H1 V
- }1 _4 R) t+ t2 }; g ?+ u+ v2 j
|