diff options
Diffstat (limited to 'tests/functional/60_while_fibonacci.sy')
| -rw-r--r-- | tests/functional/60_while_fibonacci.sy | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/functional/60_while_fibonacci.sy b/tests/functional/60_while_fibonacci.sy new file mode 100644 index 0000000..c1bf680 --- /dev/null +++ b/tests/functional/60_while_fibonacci.sy @@ -0,0 +1,27 @@ +int n; +int fib(int p){ + int a; + int b; + int c; + a = 0; + b = 1; + if ( p == 0 ){ + return 0; + } + if ( p == 1 ){ + return 1; + } + while ( p > 1 ){ + c = a + b; + a = b; + b = c; + p = p - 1; + } + return c; +} +int main(){ + n = getint(); + int res; + res = fib( n ); + return res; +} |
