Незачем, но вообще ,по-моему, следует избегать в функции делать более одного рекурсивного вызова,если только заранее не известно их максимально возможное количество
CrystalIC Это AMD Turion x2 1600MHz А время я указал правильное - сам подумай, при таком алгоритме сколько рекурсивных вызовов придется сделать...
CrystalIC Может я в чем-то и неправ, но: Код (Text): __int64 FibProc(int n) { int res; if (n < 2) return 1; __asm { sub n, 1 push n call FibProc add esp, 4 mov res, eax sub n, 1 push n call FibProc add esp, 4 add res, eax } return res; } MS Visual Studio 2005 Optimization - disabled ~ 8 sec Optimization - maximize speed ~ 2 sec Код (Text): FibProc proc near n equ dword ptr [ebp + 4] res equ dword ptr [ebp - 4] enter 4, 0 cmp n, 2 jge rec mov eax, 1 jmp _ret rec: dec n push n call FibProc add esp, 4 mov res, eax dec n push n call FibProc add esp, 4 add res, eax mov eax, res _ret: leave ret FibProc endp TASM 4.1 ~ 4 sec