32 lines
667 B
Batchfile
32 lines
667 B
Batchfile
@echo off
|
|
rem input range
|
|
set /p "range=> "
|
|
|
|
rem input data (no error-checking)
|
|
set "data_ctr=0"
|
|
:input_loop
|
|
set "data="
|
|
set /p "data=> "
|
|
if "%data%" equ "" goto count
|
|
rem parsing data into 1-based pseudo-array
|
|
set /a "data_ctr+=1"
|
|
for /f "tokens=1-2 delims= " %%D in ("%data%") do (
|
|
set "facto%data_ctr%=%%D"
|
|
set "print%data_ctr%=%%E"
|
|
)
|
|
goto input_loop
|
|
|
|
rem perform fizzbuzz now
|
|
:count
|
|
setlocal enabledelayedexpansion
|
|
for /l %%C in (1,1,%range%) do (
|
|
set "out="
|
|
for /l %%X in (1,1,%data_ctr%) do (
|
|
set /a "mod=%%C %% facto%%X"
|
|
if !mod! equ 0 set "out=!out!!print%%X!"
|
|
)
|
|
if not defined out (echo %%C) else (echo !out!)
|
|
)
|
|
pause
|
|
exit /b 0
|