Problem 2は簡単です。フィボナッチ数列は再帰で生成できます。
@echo off set /a N = 4000000 call :Fibonacci 0 1 echo %ERRORLEVEL% exit /b 0 :Fibonacci setlocal set /a f = %1 + %2 if %f% GTR %N% exit /b 0 call :Fibonacci %2 %f% set /a r = %f% %% 2 if %r% == 0 ( set /a s = %f% + %ERRORLEVEL% ) else ( set /a s = %ERRORLEVEL% ) exit /b %s%
ただ、関数型のようにはきれいに書けません。フィボナッチ数列と和を取る部分などを分離できません。ものすごくがんばればできるかもしれませんが。