我是写了一个24点的 但P不能处理小数 没有更好的解决办法 暂时不用除法 所以有局限性 看看高手怎么解决吧
上来改个代码
- @echo off&setlocal enabledelayedexpansion
- set/p var=输入4个数(空格隔开)
- for %%i in (!var!) do set/a n+=1&set !n!=%%i
- set m1=+&set m2=-&set m3=*
- for /l %%i in (1 1 %n%) do (
- for /l %%j in (1 1 %n%) do (
- for /l %%k in (1 1 %n%) do (
- for /l %%l in (1 1 %n%) do (
- if not "%%i"=="%%j" (
- if not "%%i"=="%%k" (
- if not "%%i"=="%%l" (
- if not "%%j"=="%%k" (
- if not "%%j"=="%%l" (
- if not "%%l"=="%%k" (
- if not defined %%i%%j%%k%%l set %%i%%j%%k%%l=ok&(
- for /l %%a in (1,1,3) do (
- for /l %%b in (1,1,3) do (
- for /l %%c in (1,1,3) do (
- set/a str=!%%i!!m%%a!!%%j!!m%%b!!%%k!!m%%c!!%%l!
- if "!str!" == "24" echo !%%i!!m%%a!!%%j!!m%%b!!%%k!!m%%c!!%%l!=!str!&exit
-
- set/a str=^(!%%i!!m%%a!!%%j!^)!m%%b!!%%k!!m%%c!!%%l!
- if "!str!" == "24" set/p=^(!%%i!!m%%a!!%%j!^)!m%%b!!%%k!!m%%c!!%%l!=!str!&exit
-
- set/a str=!%%i!!m%%a!^(!%%j!!m%%b!!%%k!^)!m%%c!!%%l!
- if "!str!" == "24" set/p=!%%i!!m%%a!^(!%%j!!m%%b!!%%k!^)!m%%c!!%%l!=!str!&exit
-
- set/a str=!%%i!!m%%a!!%%j!!m%%b!^(!%%k!!m%%c!!%%l!^)
- if "!str!" == "24" set/p=!%%i!!m%%a!!%%j!!m%%b!^(!%%k!!m%%c!!%%l!^)=!str!&exit
-
- set/a str=^(!%%i!!m%%a!!%%j!!m%%b!!%%k!^)!m%%c!!%%l!
- if "!str!" == "24" set/p=^(!%%i!!m%%a!!%%j!!m%%b!!%%k!^)!m%%c!!%%l!=!str!&exit
-
- set/a str=!%%i!!m%%a!^(!%%j!!m%%b!!%%k!!m%%c!!%%l!^)
- if "!str!" == "24" set/p=!%%i!!m%%a!^(!%%j!!m%%b!!%%k!!m%%c!!%%l!^)=!str!&exit
-
- set/a str=^(!%%i!!m%%a!!%%j!^)!m%%b!^(!%%k!!m%%c!!%%l!^)
- if "!str!" == "24" set/p=^(!%%i!!m%%a!!%%j!^)!m%%b!^(!%%k!!m%%c!!%%l!^)=!str!&exit
-
- set/a str=^(!%%i!!m%%a!^(!%%j!!m%%b!!%%k!^)^)!m%%c!!%%l!
- if "!str!" == "24" set/p=^(!%%i!!m%%a!^(!%%j!!m%%b!!%%k!^)^)!m%%c!!%%l!=!str!&exit
-
- set/a str=^(^(!%%i!!m%%a!!%%j!^)!m%%b!!%%k!^)!m%%c!!%%l!
- if "!str!" == "24" set/p=^(^(!%%i!!m%%a!!%%j!^)!m%%b!!%%k!^)!m%%c!!%%l!=!str!&exit
-
- set/a str=!%%i!!m%%a!^(!%%j!!m%%b!^(!%%k!!m%%c!!%%l!^)^)
- if "!str!" == "24" set/p=!%%i!!m%%a!^(!%%j!!m%%b!^(!%%k!!m%%c!!%%l!^)^)=!str!&exit
-
- set/a str=!%%i!!m%%a!^(^(!%%j!!m%%b!!%%k!^)!m%%c!!%%l!^)
- if "!str!" == "24" set/p=!%%i!!m%%a!^(^(!%%j!!m%%b!!%%k!^)!m%%c!!%%l!^)=!str!&exit
- ))))))))))))))
- echo.
- echo 对不起,没算出来!
- echo.
- pause
复制代码
[ 本帖最后由 terse 于 2008-8-4 12:43 编辑 ] |