그래서 지금 사용자에게 피보나치 수를 묻는 재귀 프로그램을 작성했습니다. 제가 가지고있는 문제는 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);
}
}
시퀀스의 출력은 다음과 같습니다 : - # 나는 위해해야 할 어떤 변화
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
9227465
14930352
24157817
39088169
63245986
102334155
165580141
267914296
433494437
701408733
1134903170
1836311903
-1323752223
512559680
-811192543
-298632863
-1109825406
가가를 변경하려면 다음은 계산을 실행하는 코드의 재귀 부분은 진짜 숫자에요? 사용중인 datatypeint
(가) 32 비트 만 값을 보유 할 수 있기 때문에
또한 '불가능한'유형을 사용하는 것이 바람직합니다 negativ. – Xeo
Btw, 답변에 부정적인 표현의 정확한 원인을 추가하는 것이 좋습니다. – Xeo
@Xeo 대부분의 전문가에 따르면 아닙니다. 부호없는 (unsigned)은 일반적으로 비트 조작 또는 모듈라 산술 연산이 필요하다는 것을 의미합니다. –