@echo off &setlocal enabledelayedexpansion
set /p inp=" : "
call :funa na %inp%
call :funa nb %inp:* =%
set /a lpna=0,lpr=-1
:lpna
set /a lpna+=1,lpnb=0,lpr+=1,lp=lpr
:lpnb
set /a lpnb+=1,lp+=1
::::::::::::::::::::::::::
set /a cup%lp%+=na%lpna%*nb%lpnb%
set /a tlpa=lp,tlpb=tlpa+1
:cuplp
set /a cup%tlpb%+=cup%tlpa%/10,cup%tlpa%=cup%tlpa%%%10
if !cup%tlpb%! gtr 9 (
set /a tlpa+=1,tlpb=tlpa+1
goto :cuplp
) else (if !cup%tlpb%! equ 0 set /a tlpb-=1)
::::::::::::::::::::::::::
if %lpnb% lss %nb% (goto :lpnb)
if %lpna% lss %na% (goto :lpna)
for /l %%a in (%tlpb%,-1,1) do set /p=!cup%%a!<nul
echo,
echo,wscript.echo %inp: =*%>x.vbs
cscript //nologo x.vbs
pause>nul &exit
:funa
set %1=%2
set funaa=0
:funaa
set /a funaa+=1
set %1%funaa%=!%1:~-%funaa%,1!
if not "!%1:~%funaa%!"=="" (goto :funaa)
set /a %1=funaa
Version 2
@echo off &setlocal enabledelayedexpansion
set /p inp=" : "
call :naxnb %inp%
pause
:naxnb
set numa=%1
set numb=%2
set /a la=0,lpr=-1
:la
set /a la+=1,lb=0,lpr+=1,lp=lpr
:lb
set /a lb+=1,lp+=1,tlpa=lp,tlpb=lp+1
:::::::::::::::::::::::::
set /a cup%lp%+=!numa:~-%la%,1! * !numb:~-%lb%,1!
:cuplp
set /a cup%tlpb%+=cup%tlpa%/10,cup%tlpa%=cup%tlpa%%%10
if !cup%tlpb%! gtr 9 (
set /a tlpa+=1,tlpb=tlpa+1
goto :cuplp
) else (if !cup%tlpb%! equ 0 set /a tlpb-=1)
::::::::::::::::::::::::::
if not "!numb:~%lb%!"=="" (goto :lb)
if not "!numa:~%la%!"=="" (goto :la)
for /l %%a in (%tlpb%,-1,1) do set /p=!cup%%a!<nul
::::::::vbs验证一下:::::::::::
echo,
echo,wscript.echo %inp: =*%>x.vbs
cscript //nologo x.vbs
pause>nul &exit
[ Last edited by 523066680 on 2009-2-21 at 10:46 ]

