Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
56
Task/Fractran/Batch-File/fractran.bat
Normal file
56
Task/Fractran/Batch-File/fractran.bat
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
::Set the inputs
|
||||
set "code=17/91 78/85 19/51 23/38 29/33 77/29 95/23 77/19 1/17 11/13 13/11 15/14 15/2 55/1"
|
||||
set "n=2"
|
||||
|
||||
::Basic validation of code
|
||||
for %%. in (!code!) do (
|
||||
echo.%%.|findstr /r /c:"^[0-9][0-9]*/[1-9][0-9]*$">nul||goto error_code
|
||||
)
|
||||
::Validate the input
|
||||
set /a "tst=1*!n!" 2>nul
|
||||
if !tst! lss 0 goto error_input
|
||||
if !tst! equ 0 (if not "!n!"=="0" (goto error_input))
|
||||
|
||||
::Set the limit outputs
|
||||
set limit=20
|
||||
|
||||
::Execute the code
|
||||
echo.Input:
|
||||
echo. !n!
|
||||
echo.Output:
|
||||
for /l %%? in (1,1,!limit!) do (
|
||||
set shouldwehalt=1
|
||||
for %%A in (!code!) do (
|
||||
for /f "tokens=1,2 delims=/" %%B in ("%%A") do (
|
||||
set /a "tst=!n! %% %%C"
|
||||
if !tst! equ 0 (
|
||||
if !shouldwehalt! equ 1 (
|
||||
set shouldwehalt=0
|
||||
set /a "n=n*%%B/%%C"
|
||||
echo. !n!
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
if !shouldwehalt! equ 1 goto halt
|
||||
)
|
||||
|
||||
:halt
|
||||
echo.
|
||||
pause
|
||||
exit /b 0
|
||||
|
||||
:error_code
|
||||
echo.Syntax error in code.
|
||||
echo.
|
||||
pause
|
||||
exit /b 1
|
||||
|
||||
:error_input
|
||||
echo.Invalid input.
|
||||
echo.
|
||||
pause
|
||||
exit /b 1
|
||||
Loading…
Add table
Add a link
Reference in a new issue