mr.Reenz
Сообщений: 40
Оценки: 0
Присоединился: 2012-03-10 11:57:08.273333
|
Написал программу для вычисления числа согласно номеру в ряде чисел Фибоначчи. #include <iostream> #include <cstdlib> using namespace std; unsigned long int fib(int n); int main() { int n; unsigned long int answer; cout<<"enter numer n: "; cin>>n; answer=fib(n); cout<<answer<<" is the:"<<n<< "th fibonarchi number"<<endl; system ("pause"); return 0; } unsigned long int fib(int n) { cout<<"processing fib(" <<n<< ")"; if (n<3) { cout<<"return 1"<<endl; return 1; } else cout<<"call fib (" <<n-2<< ") and fib (" <<n-1<< ")"<<endl; return (fib(n-2)+fib(n-1)); } Но при выполнении программы процессор нагружен на 30%. Сам процессор AMD 2 ядра по 2.2 ГГц, оперативы 1Гб. Стоит 32 битная OC Windows XP. Как задействовать всю мощь процессора при вычислении? И еще вопрос. Какой можно использовать тип возвращаемого значения(побольше и не степенной) кроме unsigned long int для вывода результата? P.S. использую прямую рекурсию.
|