File tree Expand file tree Collapse file tree 2 files changed +16
-15
lines changed Expand file tree Collapse file tree 2 files changed +16
-15
lines changed Original file line number Diff line number Diff line change 1
1
---
2
- refs/heads/master: bc77d7bdb0d76382865c7b5efd1531e7ac8362fc
2
+ refs/heads/master: 492dba8bfe8b5d906bce6eb0e90e095c168863ec
Original file line number Diff line number Diff line change
1
+ use std;
1
2
2
-
3
- // -*- rust -*-
4
3
fn fib ( n : int ) -> int {
5
-
6
-
7
- // Several of the posted 'benchmark' versions of this compute the
8
- // wrong Fibonacci numbers, of course.
9
- if n == 0 {
10
- ret 0 ;
11
- } else { if n <= 2 { ret 1 ; } else { ret fib ( n - 1 ) + fib ( n - 2 ) ; } }
4
+ if n < 2 {
5
+ ret 1 ;
6
+ } else {
7
+ ret fib ( n - 1 ) + fib ( n - 2 ) ;
8
+ }
12
9
}
13
10
14
- fn main ( ) {
15
- assert ( fib ( 8 ) == 21 ) ;
16
- assert ( fib ( 15 ) == 610 ) ;
17
- log ( debug, fib ( 8 ) ) ;
18
- log ( debug, fib ( 15 ) ) ;
11
+ fn main ( args : [ str ] ) {
12
+ // FIXME: #1527
13
+ sys:: set_min_stack ( 1000000 u) ;
14
+ let n = if vec:: len ( args) == 2 u {
15
+ int:: from_str ( args[ 1 ] )
16
+ } else {
17
+ 40
18
+ } ;
19
+ std:: io:: println ( #fmt ( "%d\n " , fib ( n) ) ) ;
19
20
}
You can’t perform that action at this time.
0 commit comments