diff --git a/nth_fibonacci_number.cpp b/nth_fibonacci_number.cpp new file mode 100644 index 0000000..22753d8 --- /dev/null +++ b/nth_fibonacci_number.cpp @@ -0,0 +1,24 @@ +#include +using namespace std; + +int fib(int n) +{ +int i; +f[0] = 0; +f[1] = 1; + +for (i = 2; i <= n; i++) +{ + f[i] = f[i-1] + f[i-2]; +} + +return f[n]; +} + +int main () +{ +int n; +cin>>n; +cout<< fib(n)< +using namespace std; + +int getMax(int arr[], int n) +{ + int mx = arr[0]; + for (int i = 1; i < n; i++) + if (arr[i] > mx) + mx = arr[i]; + return mx; +} + +void countSort(int arr[], int n, int exp) +{ + int output[n]; + int i, count[10] = {0}; + + for (i = 0; i < n; i++) + count[ (arr[i]/exp)%10 ]++; + + for (i = 1; i < 10; i++) + count[i] += count[i - 1]; + + for (i = n - 1; i >= 0; i--) + { + output[count[ (arr[i]/exp)%10 ] - 1] = arr[i]; + count[ (arr[i]/exp)%10 ]--; + } + + for (i = 0; i < n; i++) + arr[i] = output[i]; +} + +void radixsort(int arr[], int n) +{ + int m = getMax(arr, n); + for (int exp = 1; m/exp > 0; exp *= 10) + countSort(arr, n, exp); +} + +void print(int arr[], int n) +{ + for (int i = 0; i < n; i++) + cout << arr[i] << " "; +} + +int main() +{ + int n; + cin>>n; + + int arr[n]; + + for(int i=0;i>arr[i]; + + radixsort(arr, n); + print(arr, n); + return 0; +}