中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 01:26
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教:100个面包的买法 查看 881 回复 9
楼 主 请教:100个面包的买法 发表于 2008-07-02 17:39 ·  中国 广东 深圳 福田区 电信
初级用户
★★
积分 138
发帖 55
注册 2007-02-02 05:54
19年会员
UID 78395
性别 男
状态 离线
用100块钱买100个面包,大面包一只五钱,中面包一只三钱,小面包三只一钱,批处理计算共有几种买法呢?


谢谢,感激!
偶其实很喜欢批处理
2 发表于 2008-07-02 21:11 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
100块钱怎么换成钱
简单!简单!再简单!
3 发表于 2008-07-02 23:38 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
1:1
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
4 发表于 2008-07-02 23:54 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
晕了 居然忘记一个判断

@echo off&setlocal enabledelayedexpansion
echo 用100块钱买100个面包,大面包一只五块钱,中面包一只三块钱,小面包三只一块钱,共有几种买法呢?
echo.
for /l %%i in (0,3,99) do (
for /l %%j in (0,1,20) do (
set/a a=%%i/3,b=5*%%j,d=100-%%i-%%j,c=d*3,sum=a+b+c
if !sum! equ 100 if !d! geq 0 set/a n+=1&echo 大面包 %%j 中面包 !d! 小面包 %%i
))
echo 共有 %n% 种买法
pause


[ Last edited by terse on 2008-7-3 at 11:38 AM ]
简单!简单!再简单!
5 发表于 2008-07-03 06:51 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
Originally posted by terse at 2008-7-2 11:54 PM:
这样算法对不
@echo off&setlocal enabledelayedexpansion
echo 用100块钱买100个面包,大面包一只五块钱,中面包一只三块钱,小面包三只一块钱,共有 ...


一定要买100个面包。。。

这是我的代码,抄袭的前辈的。。。稍作了修改。。
@echo off&setlocal enabledelayedexpansion
echo 用100块钱买100个面包,大面包一只五块钱,中面包一只三块钱,小面包三只一块钱,共有几种买法呢?
for /l %%a in (0 1 20) do (
for /l %%b in (0 1 33) do (
for /l %%c in (0 3 135) do (
set/a num=%%a+%%b+%%c
if !num! equ 100 (
set/a a=%%a*5,b=%%b*3,c=%%c/3,var=a+b+c
if !var! equ 100 echo %%a个大面包 %%b个中面包 %%c个小面包&set/a xx+=1
))))
echo 共有%xx%种买法。
pause


0个大面包 25个中面包 75个小面包
4个大面包 18个中面包 78个小面包
8个大面包 11个中面包 81个小面包
12个大面包 4个中面包 84个小面包
共有4种买法。


[ Last edited by pusofalse on 2008-7-3 at 07:51 AM ]
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
6 发表于 2008-07-03 08:02 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
再改进一下。。。

@echo off&setlocal enabledelayedexpansion
echo 用100块钱买100个面包,大面包一只五块钱,中面包一只三块钱,小面包三只一块钱,共有几种买法呢?
echo.
echo %time%
for /l %%a in (0 1 20) do (
for /l %%b in (0 1 33) do (
set/a sum=100-%%a-%%b
if !sum! geq 47 (
set/a str=!sum!%%3
if !str! equ 0 (
set/a a=%%a*5,b=%%b*3,c=!sum!/3,var=a+b+c
if !var! equ 100 echo %%a个大面包 %%b个中面包 !sum!个小面包&set/a xx+=1
))))
echo 共有%xx%种买法。
echo %time%
pause>nul
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
7 发表于 2008-07-03 11:33 ·  中国 江苏 常州 武进区 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
Originally posted by pusofalse at 2008-7-3 08:02:
再改进一下。。。

@echo off&setlocal enabledelayedexpansion
echo 用100块钱买100个面包,大面包一只五块钱,中面包一只三块钱,小面包三只一块钱, ...


晕了 居然忘记一个判断 这样也好

@echo off&setlocal enabledelayedexpansion
echo 用100块钱买100个面包,大面包一只五块钱,中面包一只三块钱,小面包三只一块钱,共有几种买法呢?
echo.
for /l %%i in (0,3,99) do (
for /l %%j in (0,1,20) do (
set/a a=%%i/3,b=5*%%j,d=100-%%i-%%j,c=d*3,sum=a+b+c
if !sum! equ 100 if !d! geq 0 set/a n+=1&echo 大面包 %%j 中面包 !d! 小面包 %%i
))
echo 共有 %n% 种买法
pause


[ Last edited by terse on 2008-7-3 at 11:39 AM ]
简单!简单!再简单!
8 也来一个: 发表于 2008-07-03 12:45 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线

@echo off&setlocal enabledelayedexpansion
for /l %%a in (0,1,20) do (
for /l %%b in (0,1,33) do (
set /a c=100-%%a-%%b
set /a d=!c!%%3
if !d! equ 0 (
set /a totels=%%a*5+%%b*3+!c!/3
if !totels! equ 100 (
set /a num+=1
set _!num!=大面包%%a个,中面包%%b个,小面包!c!个
))))
echo 总共有!num!种买法:
for /l %%i in (1,1,%num%) do echo !_%%i!
pause>nul
批处理之家新域名:www.bathome.net
9 发表于 2008-07-03 12:46 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
晕,发了才发现terse的思路和我的差不多,呵呵。
批处理之家新域名:www.bathome.net
10 发表于 2008-07-05 12:35 ·  中国 广东 深圳 福田区 电信
初级用户
★★
积分 138
发帖 55
注册 2007-02-02 05:54
19年会员
UID 78395
性别 男
状态 离线
谢谢高手们解答,着实感谢1
偶其实很喜欢批处理
论坛跳转: