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

[ 新手习题 3 ] 批处理找规律

找出 2、5、8 这三个数的规律(这是个纯数学题),利用公式求出第四个数。

目的:掌握对一系列事物中隐含规律的总结归纳方法。实际运用中有许多难题,只要找到其规律就可迎刃而解。

要求:要写出公式(代码中隐含公式也行),不能直接用 echo 显示,公式不限。

评分:代码可读性 1 分;
   首个新方法 6 分,第二个 5 分,依次类推,最少 2 分;
   一人可多种方法,新方法追加 3 分,已经出现过的方法追加 1 分。

  1. @echo off&setlocal ENABLEDELAYEDEXPANSION
  2. for /l %%i in (1,2,7) do set/a var+=1&set/a num=!var!+%%i& echo !num!
  3. pause
复制代码
1

评分人数

TOP

大案

@echo off
:loop
set /a n=2
set /p a=请输入该规律的第几个数
set /a c=2+(%a%-1)*3
cls
echo 该规律的第%a%个数:%c%
pause
goto loop
1

评分人数

    • wxcute: 不错,请将代码用 code 括起来PB + 6

TOP

???
这个不是等差数列吗?
d为3

TOP

@echo off
setlocal enabledelayedexpansion
for /l %%i in (2,3,11) do set s=%%i
echo 第四个数是:!s!
pause>nul
1

评分人数

    • wxcute: 请用 code 括起代码方便他人阅读。PB + 6

TOP

不用延时,代码更简单了
@echo off
for /l %%i in (2,3,11) do set s=%%i
echo 第四个数是:%s%
pause>nul

TOP

回复 4楼 的帖子

规律可能不止一种,毕竟只有三个数。

TOP

  1. @echo off&title 数列的简单计算&setlocal enabledelayedexpansion
  2. echo 数列的简单计算,请输入数列的前3项
  3. set er=0
  4. set /p a1=请输入A1:
  5. set /p a2=请输入A2:
  6. set /p a3=请输入A3:
  7. set /a b1=a2-a1
  8. set /a b2=a3-a2
  9. set /a c1=a2/a1
  10. set /a c2=a3/a2
  11. if %b1%==%b2% (
  12. set /a a4=a3+b1
  13. echo 您输入的数列是等差数列,第四项为!a4!。
  14. set /a er+=1
  15. )
  16. if %c1%==%c2% (
  17. set /a a4=a3*c1
  18. echo 您输入的数列是等比数列,第四项为!a4!。
  19. set /a er+=1
  20. )
  21. if %er%==0 echo 您输入的数列既不是等差数列也不是等比数列。
  22. echo 分析完毕,请按任意键推出...
  23. pause>nul  
复制代码
只支持等差和的等比数列,其他的可以自行添加公式。
1

评分人数

    • wxcute: 题目已经被你扩展了 ^_^PB + 5

TOP

原帖由 wxcute 于 2008-12-19 10:16 发表
规律可能不止一种,毕竟只有三个数。

2*5=10
5*8=40
8*20=160
第4个数是20??
这样可以吗??

TOP

回复 9楼 的帖子

这个应该不算规律罢,8*10、8*20 不是随便选了吗?

TOP

  1. @echo off
  2. for /l %%i in (1,1,4) do set /a n=3*%%i-1
  3. echo 第4个数是:%n%
  4. pause>nul
复制代码
数的规律是:n=3*i-1 i=1,2,3,4……
                     2=3*1-1
                     5=3*2-1
                     8=3*3-1

[ 本帖最后由 leaparde 于 2008-12-26 16:58 编辑 ]
1

评分人数

TOP

改一下,这个看得顺眼一点。
  1. @echo off
  2. title 数列运算
  3. color 1f
  4. mode con:cols=40 lines=20
  5. setlocal enabledelayedexpansion
  6. for /l %%i in (1,1,4) do (
  7. set /a n=3*%%i-1
  8. echo 第%%i个数是:!n!
  9. )
  10. pause>nul
复制代码

TOP

9# firewolf85


哥们的想法很 。。厉害  
让人想不到啊 1!!!!强!!

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set a=2
  4. for /l %%b in (!a! 3 100) do echo %%b
  5. pause
复制代码
菜鸟一个,潜心学习
总有学会的一天

TOP

  1. @echo off
  2. set /p a=请输入该数列的第n个数字
  3. set /a b=3*%a%-1
  4. echo %b%
  5. pause>nul
复制代码
nothing's gonna change
and I've never changed

TOP

返回列表