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

[代码合集] [转载资料]用批处理作趣味数学题

在CN-DOS混过的一定知道有zouzhxi大大在2006-11-12 08:20 AM发出的“趣味数学题”吧!(很可惜我没有机会到那里混混~)
这资料在 CN-DOS批处理精华贴 里找到的
这么好的东西竟然没有人发出来?(我在这里找不到~)
整理了下,便把它发出来了~





顺便把还未解决的问题贴出来:


#23 ?
称珠子=
有243颗外形一模一样的珠子,其中有一颗稍重一点。用一架没有砝码的天平,至少称几次才能找出这颗珠子来?


#24 ?
坐井观天的青蛙=
坐井观天的那只青蛙一天突然心血来潮,想到外面的世界去看看,井深九尺,青蛙一次只能蹦三尺高,如果这样青蛙要蹦几次才能跳出井口呢?


#25 ?
鸡狗各多少=
小鸡、小狗七十九,二百只脚在地上走,想一想,算一算,多少只鸡?多少只狗?


#26 ?
大、小和尚各有几=
这是一道古算题:百个和尚百个粑,大和尚每人粑四个,小和尚四人一个粑,大、小和尚各有几?





再顺便发出我的代码(对不起,献丑了,有错误请指出)


25题:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%i in (1 1 79) do (
  4.         set d=%%i
  5.         set /a c=79-!d!
  6.         set /a l=!d!*4+!c!*2
  7.         if !l!==200 echo 鸡有!c!只 狗有!d!只
  8. )
  9. pause
复制代码


26题:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%i in (1 1 100) do (
  4.         set b=%%i
  5.         set /a s=100-!b!
  6.         set /a r=!s!%%4
  7.         if !r!==0 (
  8.                 set /a t=!b!*4+!s!/4
  9.                 if !t!==100 echo 大尚有!b!个人 小和尚有!s!个人
  10.         )
  11. )
  12. pause
复制代码

1

评分人数

    • CrLf: 很给力,感谢分享!PB + 6

非常好玩,考虑算法和脑力

TOP

本帖最后由 CrLf 于 2011-10-11 22:46 编辑
  1. set d=%%i
  2. set /a c=79-!d!
  3. set /a l=!d!*4+!c!*2
复制代码
可以简化为
  1. set /a c=79-%%i,l=%%i*4+c*2
复制代码
其实也可以不遍历,可以用方程组或者解鸡兔同笼的简洁优美的古算法

TOP

回复 3# CrLf


    谢谢斑竹~长知识了~

TOP

返回列表