[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] 请用这三个油瓶将10斤油平分成相等的两部分

假设有3个油瓶,容量分别为1073()。开始时10斤油瓶是满的,另外两个是空的,请用这三个油瓶将10斤油平分成相等的两部分。(初中组赛题)

[ 本帖最后由 curious 于 2009-6-28 15:01 编辑 ]

这道体也太无聊了吧,平分后误差多大?3斤的瓶子壁上挂的油算不算?挥发掉的算不算?
直接往7斤的瓶子里倒就是了,感觉差不多就可以了,又不是发射导弹不用那么精细。
典型的脱离实际生活的题。有点貌似纯学问的酸腐
就象一池塘水放掉要5小时,加满要3小时,问进水管和排水管一起开,几小时可以加满池塘一样!出题的人脑子确实进水了
对楼主没有意见,纯是看见这么**的题就来气,如果手边真的连个称或标尺什么的都没有的话何必平分那瓶子油呢?

TOP

3+3+3-7+3=5
====================================
3L的方法就是以上的方法

[ 本帖最后由 yslyxqysl 于 2009-6-28 21:24 编辑 ]

TOP

只能说2L没有对数学的热情,或者说根本不懂得数学
3L貌似错了,意思是只有这三个油桶,不是三种油桶
下面每行就是每次操作,三列分别表示10、7、3的油桶
10 0 0
7 0 3 (10->3)
7 3 0 (3->7)
4 3 3 (10->3)
4 6 0 (3->7)
1 6 3 (10->3)
1 7 2 (3->7)
8 0 2 (7->10)
8 2 0 (3->7)
5 2 3 (10->3)

(看错楼号)

[ 本帖最后由 defanive 于 2009-6-28 18:52 编辑 ]
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

只能说2L没有对数学的热情,或者说根本不懂得数学
对2L没有意见,纯是看见这么评价这么经典的智力题就来气
三列分别表示10、7、3的油桶
0 7 3
3 7 0
3 4 3
6 4 0
6 1 3
9 1 0
9 0 1
2 7 1
2 5 3
5 5 0

TOP

参考:cn-dos的那个分水的P

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. set "Tab= "这里替换为TAB键
  3. :lp
  4. set _n=&set "var="
  5. set /p var=请输入三个杯的大小(空格分隔):
  6. set /p _n=输入你要分出的量:
  7. cls&call :nt %var%
  8. :nt
  9. if "%_n%"=="" echo;输入错误&goto lp
  10. if "%3"=="" echo;输入错误&goto lp
  11. if not "%4"=="" echo;输入错误&goto lp
  12. for /f "delims=0123456789 " %%i in ("%var%%_n%") do set var=var
  13. if "%var%"=="var" echo;输入错误&goto lp
  14.     for %%i in (%var%) do set /a n+=1&set a!n!=%%i
  15.         for /l %%i in (1,1,2) do (
  16.             set /a z=%%i+1
  17.             for /l %%j in (!z!,1,3) do (
  18.             if !a%%i! gtr !a%%j! set/a a%%j=!a%%i!,a%%i=!a%%j!
  19.          )
  20.      )
  21.     for /l %%i in (3,-1,1) do set a%%i=!a%%i!
  22.     set/a a=a3,b=a2,c=a1,x=0,yb=a-b-c,n=0
  23.     if %yb% lss 0 (set/a y=a-b)else set/a y=c
  24. echo;你要分出的量: %_n%
  25. echo;%Tab%%a% %Tab%%b%%Tab%%c%
  26. echo;&echo;初始%Tab%%a%%Tab%0%Tab%0&echo;
  27. set/a a1=a,a2=0,a3=0
  28. call:next %b% %c% %y%
  29. if %yb% lss 0 (set/a y=a-c)else set/a y=b
  30. echo;&echo;初始%Tab%%a%%Tab%0%Tab%0&echo;
  31. set/a a1=a,a2=0,a3=0,n=0
  32. call:next %c% %b% %y%
  33. pause&exit
  34. :next
  35. set/a n+=1
  36. if %a2% equ 0 (
  37.       if %a3% equ %2 echo 不能分出你要的量&pause&exit
  38.       if %a3% geq %3 (set /a a2=%1-a3+%3) else set/a a2=%1
  39.     ) else (
  40.       if %a3% leq %3 (
  41.       set/a a2-=%2-a3,a3=%2
  42.       if !a2! leq 0 set /a a3+=a2,a2=0
  43.     )
  44.       if %a3% geq %3 set a3=0
  45. )
  46. set/a a1=a-a2-a3
  47. echo 第%n%次%Tab%%a1% %Tab%%a2%%Tab%%a3%
  48. if /i "%flag%"=="f" set "flag="&exit/b
  49. if %a1% equ %_n% (set flag=f)else if %a2% equ %_n% (set flag=f)else if %a3% equ %_n% set flag=f
  50. goto next
复制代码
1

评分人数

    • curious: 广度搜索的经典,想不到p也能解出来!PB + 3

TOP

重视4;5楼对我的批评
谁能告诉我那题在现实中可以应用到什么领域?
这种不客观不现实,纯粹为多熬死若干脑细胞的活动还是少些好。我不喜欢饶口令不能否定我对语言的热情与理解。3个瓶子来回倒腾了9到10次才完成。将简单问题复杂化难道真的是一种值的推荐的智慧?
解出该题对现实生活没有任何帮助。反有点为了什么而什么的浮燥。
摈弃空洞;追求务实;学以致用;理论联系实际!

TOP

解出该题对现实生活没有任何帮助?


如果遇到某些问题,你觉得手头没用工具就嫌那个问题怎么怎么样。。。

其实靠点智慧比依赖工具好。

就像用3方一样,其实觉得有时候如果P能完成就用P……
尽管速度慢些……

3方不是更有效率?

你为什么要来这个论坛呢。。。

很多问题答案并不需要问出来才知道,自己留心就是了。

TOP

返回列表