Я работаю над алгоритмом фибоначчи для действительно больших чисел (100 тыс. Номеров). Мне нужно сделать этот запуск быстрее, хотя, но всего пару секунд, и у меня кончились идеи. Есть ли способ сделать это быстрее? Спасибо за помощь.оптимизирующий код: алгоритм фибоначчи
#include <iostream>
using namespace std;
int main() {
string elem_major = "1";
string elem_minor = "0";
short elem_maj_int;
short elem_min_int;
short sum;
int length = 1;
int ten = 0;
int n;
cin >> n;
for (int i = 1; i < n; i++)
{
for (int j = 0; j < length; j++)
{
elem_maj_int = short(elem_major[j] - 48);
elem_min_int = short(elem_minor[j] - 48);
sum = elem_maj_int + elem_min_int + ten;
ten = 0;
if (sum > 9)
{
sum -= 10;
ten = 1;
if (elem_major[j + 1] == NULL)
{
elem_major += "0";
elem_minor += "0";
length++;
}
}
elem_major[j] = char(sum + 48);
elem_minor[j] = char(elem_maj_int + 48);
}
}
for (int i = length-1; i >= 0; i--)
{
cout << elem_major[i];
}
return 0;
}
Этот вопрос относится к [codereview.se] –
Используйте силу матрицы. – MikeCAT
@ sam2090 это подход DP –