|
C++ function to calculate Fibonacci number |
|
Here is a small program to clalculate Fibonacci numbers using c++ language. No tampering with the code needed ( only iprovements ! ) just copy and compile with g++ FibonacciNumber.cpp -o FibonacciNumber and run ./FibonacciNumber
#include <iostream>
#include <cstdlib>
void HowMany(int *numbers);
void CalculateFibonacci(int *numbers);
int main() {
int numbers = 0;
HowMany(&numbers);
CalculateFibonacci(&numbers);
return 0;
}
void HowMany(int *numbers)
{
// use pointers as parameter, not references
std::cout << "How many Fibonacci numbers would you like to calculate? ";
std::cin >> *numbers;
if ((!std::cin.good()) || ( *numbers <= 1 || ( *numbers >= 48 )))
{
printf("Invalid number entered ! I calculate only more than 0 or less then 48 Fibonacci numbers !! \n");
exit(1);
}
}
void CalculateFibonacci(int *numbers)
{
int i = 0;
unsigned long a = 1;
unsigned long b = 0;
unsigned long fibonacci_number = 0;
while(i < *numbers) {
b= fibonacci_number;
fibonacci_number = a + b;
std::cout << "Fibonacci number: " << i+1 << ". " << fibonacci_number << "\n";
a = b;
i++;
}
std::cout << std::endl;
}
OUTPUT:
./FibonacciNumber How many Fibonacci numbers would you like to calculate? 30 Fibonacci number: 1. 1 Fibonacci number: 2. 1 Fibonacci number: 3. 2 Fibonacci number: 4. 3 Fibonacci number: 5. 5 Fibonacci number: 6. 8 Fibonacci number: 7. 13 Fibonacci number: 8. 21 Fibonacci number: 9. 34 Fibonacci number: 10. 55 Fibonacci number: 11. 89 Fibonacci number: 12. 144 Fibonacci number: 13. 233 Fibonacci number: 14. 377 Fibonacci number: 15. 610 Fibonacci number: 16. 987 Fibonacci number: 17. 1597 Fibonacci number: 18. 2584 Fibonacci number: 19. 4181 Fibonacci number: 20. 6765 Fibonacci number: 21. 10946 Fibonacci number: 22. 17711 Fibonacci number: 23. 28657 Fibonacci number: 24. 46368 Fibonacci number: 25. 75025 Fibonacci number: 26. 121393 Fibonacci number: 27. 196418 Fibonacci number: 28. 317811 Fibonacci number: 29. 514229 Fibonacci number: 30. 832040
|