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

批处理趣味数学题集

1、四个数字算24
四个数字,可以任意用加、减、乘、除来计算(只能用加、减、乘、除),最后等于24
举例:4、2、1、8四个数,(4/2+1)*8=24

要求:用四个数字4 2 1 8列出所有的结果是 24 的组合。

2、下面三角形数阵中,第2006行的左起第三个数是多少
                                              1
                                            1   1
                                           1  2   1
                                        1   3   3   1
                                     1   4    6   4    1
                                    1  5   10  10   5    1
3、将奇数依顺序排列成如图的三角形数阵从上到下称为行。那么2007为第几行的第几个数?(874)
                                                        1
                                                    3   5   7
                                                9  11  13  15   17
                                           19  21  23  25  27   29  31
4、一个自然数可以分拆成3个连续的自然数的和,又可以分拆成5个、7个、8个连续的自然数的和,这个自然数最小是?

5、一个青年今年(2007年)过生日时惊喜地发现他明年过生日的时候,他的年龄恰好是出生年份的数字之和,这位青年出生于多少年?今年他多少岁?

第三题是不是可以换个思路,以减少代码呢?
  1. @echo off &setlocal enabledelayedexpansion
  2. set /a num=21
  3. set /a bg=%num%,num=(%num%+1)/2
  4. call :test
  5. echo %bg% 在第 %hang% 行第 %num% 个数.
  6. pause>nul
  7. :test
  8. for /l %%i in (1 2 9999) do (
  9.      set /a num-=%%i
  10.      set /a hang+=1
  11.      if !num! leq 0 set /a num+=%%i & goto :eof)
复制代码
1

评分人数

TOP

原理简单解析:
先 通过 num=(%num%+1)/2 求得 奇数个数。
然后,拿这个数字减去 第一行 数字数目(1),再减去第二行数字数目(3)...
如果,%num%-该行数字数目如果小于 0 时,那就是最后一行了...

TOP

返回列表