中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-13 19:02
楼 主 用批处理算24点 发表于 2008-03-28 02:11 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
UID 42345
状态 离线
因除运算有错,舍弃它了,但也能算出一部分,故权当娱乐而已,
修改输入同数出错

@echo off&setlocal enabledelayedexpansion
set/p a=输入第一个数:
set/p b=输入第二个数:
set/p c=输入第三个数:
set/p d=输入第四个数:
set m1=+&set m2=-&set m3=*
:a
set/a n+=1
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=a!m%%a!b!m%%b!c!m%%c!d
if "!str!" == "24" set/p=%a%!m%%a!%b%!m%%b!%c%!m%%c!%d%=!str!&exit

set/a str=^(a!m%%a!b^)!m%%b!c!m%%c!d
if "!str!" == "24" set/p=^(%a%!m%%a!%b%^)!m%%b!%c%!m%%c!%d%=!str!&exit

set/a str=a!m%%a!^(b!m%%b!c^)!m%%c!d
if "!str!" == "24" set/p=%a%!m%%a!^(%b%!m%%b!%c%^)!m%%c!%d%=!str!&exit

set/a str=a!m%%a!b!m%%b!^(c!m%%c!d^)
if "!str!" == "24" set/p=%a%!m%%a!%b%!m%%b!^(%c%!m%%c!%d%^)=!str!&exit

set/a str=^(a!m%%a!b!m%%b!c^)!m%%c!d
if "!str!" == "24" set/p=^(%a%!m%%a!%b%!m%%b!%c%^)!m%%c!%d%=!str!&exit

set/a str=a!m%%a!^(b!m%%b!c!m%%c!d^)
if "!str!" == "24" set/p=%a%!m%%a!^(%b%!m%%b!%c%!m%%c!%d%^)=!str!&exit

set/a str=^(a!m%%a!b^)!m%%b!^(c!m%%c!d^)
if "!str!" == "24" set/p=^(%a%!m%%a!%b%^)!m%%b!^(%c%!m%%c!%d%^)=!str!&exit

set/a str=^(a!m%%a!^(b!m%%b!c^)^)!m%%c!d
if "!str!" == "24" set/p=^(%a%!m%%a!^(%b%!m%%b!%c%^)^)!m%%c!%d%=!str!&exit

set/a str=^(^(a!m%%a!b^)!m%%b!c^)!m%%c!d
if "!str!" == "24" set/p=^(^(%a%!m%%a!%b%^)!m%%b!%c%^)!m%%c!%d%=!str!&exit

set/a str=a!m%%a!^(b!m%%b!^(c!m%%c!d^)^)
if "!str!" == "24" set/p=%a%!m%%a!^(%b%!m%%b!^(%c%!m%%c!%d%^)^)=!str!&exit

set/a str=a!m%%a!^(^(b!m%%b!c^)!m%%c!d^)
if "!str!" == "24" set/p=%a%!m%%a!^(^(%b%!m%%b!%c%^)!m%%c!%d%^)=!str!&exit
)
)
)
if !n! lss 4 set/a a=%b%,b=%c%,c=%d%,d=%a%&goto a
if !n! lss 5 set/a a=%b%,b=%c%,c=%a%,d=%d%&goto a
if !n! lss 8 set/a a=%b%,b=%c%,c=%d%,d=%a%&goto a
if !n! lss 9 set/a a=%d%,b=%a%,c=%c%,d=%b%&goto a
if !n! lss 12 set/a a=%b%,b=%c%,c=%d%,d=%a%&goto a
if !n! lss 13 set/a a=%a%,b=%b%,c=%d%,d=%c%&goto a
if !n! lss 16 set/a a=%b%,b=%c%,c=%d%,d=%a%&goto a
if !n! lss 17 set/a a=%b%,b=%a%,c=%c%,d=%d%&goto a
if !n! lss 20 set/a a=%b%,b=%c%,c=%d%,d=%a%&goto a
if !n! lss 21 set/a a=%b%,b=%c%,c=%a%,d=%d%&goto a
if !n! lss 24 set/a a=%b%,b=%c%,c=%d%,d=%a%&goto a
echo.
echo 对不起,没算出来!
echo.
pause



@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" 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

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


[ Last edited by terse on 2008-7-6 at 11:12 PM ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
plp626 +4 2008-03-28 13:12
简单!简单!再简单!
2 发表于 2008-03-28 13:12 ·  中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
UID 103127
性别 男
状态 离线
有意思,
山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
3 发表于 2008-03-28 14:03 ·  中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
UID 99089
性别 男
状态 离线
10,10,4,4
4 发表于 2008-03-28 14:18 ·  中国 江苏 常州 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
UID 42345
状态 离线
Originally posted by huahua0919 at 2008-3-28 14:03:
10,10,4,4

(10*10-4)/4 式中包含除运算的还是不能完成 所以此P有局限性
简单!简单!再简单!
5 有意思, 发表于 2008-04-20 12:48 ·  中国 山东 济南 电信
新手上路
积分 10
发帖 5
注册 2008-04-20 11:27
UID 116393
性别 男
状态 离线
有意思,
6 发表于 2008-04-20 16:14 ·  中国 福建 泉州 电信
初级用户
★★
积分 112
发帖 81
注册 2008-04-11 23:47
UID 115654
性别 男
状态 离线
还无法达到这种水平
论坛跳转: