费波拉奇数列,相信大家都听过,但就这个小小的程序,如果你把它的数值调大的一点,然后。。。听听大多数CPU疯狂转动的声音,WOW,不知整了多少班上的女同学------每天都跑来找我们,“这怎么回事啊,快帮我解决一下 “ - // 费波拉奇数列:从0和1开始,后续的每个费波拉奇数字都是前两个数字的和, T2 Z7 P* K+ z' n: V+ K
- #include <iostream>
- * G) h& _! s6 `, L! w
- 3 B9 q4 `, o9 j- Q% h1 L
- using std::cout;
- 9 o/ l3 P# o1 S
- using std::cin;' s$ f9 t# @9 h8 B6 f9 s5 U- U
- using std::endl;
- 6 \2 Y6 ~( ?7 `- L ]0 g
- : P( g5 `1 _1 L' p* z) [\\" m
- : P% ]1 c8 @, w' A
- unsigned long fibonacci( unsigned long );; F7 p' |9 X( X8 z- t, d; i0 F
- ' g% a {7 ~+ J! ^8 x. ~1 G0 S
- int main( void )0 P1 d/ y$ w! H8 ~ ~. j
- {
- $ o* m' K+ w: j( _1 o3 w8 L6 ]+ B/ z
- unsigned long result, number;
- & Q- P ]) I0 a6 Z
- e' @7 w9 X8 }4 A3 ?! }0 w
- cout << "Enter an integer: ";
- 7 O) p6 B2 h9 u% _2 o
- cin >> number;
- e+ r5 O- x* z' y) u |
- result = fibonacci( number );
- / v6 I$ J8 \1 s2 x/ Q5 m5 ]
- cout << "Fibonacci( "<< number << " ) = " << result << endl;
- ( N: W3 P2 Q. P\\" s
- return 0;5 c7 J8 F) V, _5 I- \ T
- }2 o' o# D6 t7 q$ g2 F
- % W6 s% W+ u6 ^+ z* ~
- unsigned long fibonacci( unsigned long n )
- . @$ v+ S3 i/ p ^# [% a5 e% q/ N
- {
- ( {* {) {4 w1 w/ f
- if ( n == 0 || n == 1 )
- 0 ?3 N: ?9 { q6 H
- return n;) A. Z6 F0 c! A5 s& R: c: r
- else
- \\" j4 [. u- z- ~' y1 w
- return fibonacci( n -1 ) + fibonacci( n - 2 );
- ( M5 n3 a8 L1 n: C
- }
- 3 S3 T# }4 C, L2 S m& W) E
|