- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
std::size_t fib(const std::size_t index) {
if (index < 3)
return !!index;
std::size_t f2 = 1; // f(n - 2)
std::size_t f1 = 1; // f(n - 1)
std::size_t result = 0;
for (std::size_t i = 2; i < index; ++i)
{
result = f1 + f2;
f1 = f2;
f2 = result;
}
return result;
}
а так же "AMD", ".NET", "Oracle", XBOX, Windows...
зачем? Ведь в Notepad++ на PHP можно в одиночку написать любой сайт без всего этого
С -O1 чуть получше.
Нужно в области глобальных переменных завести кэш для значений этой функции, чтобы не вычислять повторно.
https://godbolt.org/z/Sj4xpB