所以我写了一个递归程序,询问用户现在要执行的许多Fibonacci数.我遇到的问题是,在第45个数字之后,它给了一个带" - "的数字和一个不符合序列的数字.我怎样才能改变它以给我正确的号码?以下是执行计算的代码的递归部分:
void fibonacci (int a, int b, int n, int count)
{
if(n < count)
{
cout<<a+b<<endl;
fibonacci(b, a+b, n+1, count);
}
}
Run Code Online (Sandbox Code Playgroud)
这是序列的输出:
How many numbers do you want the Fibonacci sequence to process: 50
The starting numbers for the sequence are: 0, 1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
196418
317811
514229
832040
1346269
2178309
3524578
5702887 …Run Code Online (Sandbox Code Playgroud)