:dvdv
set /a n=%1
set /a par=%n%%%2
set /a div1=%n%/2
set /a div2=(%n%-1)/2
if NOT %1 EQU 1 (
if %par% EQU 0 (
call:dvdv %div1%
call:mult
) else (
call:dvdv %div2%
call:mult impar
)
)
goto:EOF
:mult
set /a p00=%m00%*%m00%+%m01%*%m01%
set /a p01=%m00%*%m01%+%m01%*%m11%
set /a p11=%m01%*%m01%+%m11%*%m11%
if "%1"=="impar" (
set /a m00=%p01%
set /a m01=%p00%+%p01%
set /a m11=%p01%+%p11%
) else (
set /a m00=%p00%
set /a m01=%p01%
set /a m11=%p11%
)
goto:EOF
-----------------------------------------------------
Again if you want see the 10 first elements you can do it just like in
this code:
@echo off
FOR /L %%a IN (0, 1, 10) do Call :Fibonacci %%a
pause
exit