I didn't know that declaring value on namespace is same as declaring value on global.
So I want to change my code which don't use global variable.
How can I keep track of Fibonacci number from 0 ~ 20 without using global variable?
#include <iostream>
using namespace std;
int Fibonacci(int num);
namespace Fib{
int arr[100];
int num;
}
int main(){
cin >> Fib::num;
Fibonacci(Fib::num);
return 0;
}
int Fibonacci(int n){
if(Fib::num < 1) return -1;
int result = 0;
int idx;
result = (n == 0) ? 0 : (n == 1) ? 1 : Fibonacci(n-1) + Fibonacci(n-2);
Fib::arr[n] = result;
if(n == Fib::num){
for(idx=1; idx < n+1 ; idx++){
cout << Fib::arr[idx] << " ";
}
cout << endl;
}
return result;
}