[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 mxxcgzxxx 于 2011-7-1 16:16 编辑
  1. set /a a*=(a*=(a*=(a=11)))*11*11*11
复制代码
原理是递归,第一层11,第二层11*11,第三层(11*11)*(11*11)
所以a*=(a*=(a*=(a=11)))就是8个11相乘了,加乘三个11就行了
写简单了,但要口算更长时间才能写出算式呵
2

评分人数

世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

5# ArdentMan

你是要求某数的幂次方吧,那要用另一个公式来算这个数是2的几次方余多少的问题
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

本帖最后由 mxxcgzxxx 于 2011-7-1 17:17 编辑

7# ArdentMan

不只是循环12次的原因还有每次都是自己的平方,第一次之后就全错了


将自己的再次简化下
  1. set /a c*=(c*=(c*=(c=11)))*c/11
复制代码
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

本帖最后由 mxxcgzxxx 于 2011-7-1 20:49 编辑

我也想找到通用编码,不过试了下没发现,可能是能力有限或转不过弯来,
你们来找找规律,
本人认为还是把规律放在1,2,3内比较靠谱
比如7=1+2*3=2*2*2-1
能有一个1,2,3的开方规律就好了,看样子要用CALL套
  1. @echo off
  2. :1
  3. set/p p=
  4. :2
  5. ::平方原理
  6. set /a a*=(a=p)
  7. echo %a%
  8. :3
  9. ::3次方
  10. set /a a*=(a=p)*a
  11. echo %a%
  12. :4
  13. ::2次方的平方
  14. set /a a*=(a*=(a=p))
  15. echo %a%
  16. :5
  17. ::2次方的平方+1
  18. set /a a*=(a*=(a=p))*p
  19. echo %a%
  20. :6
  21. ::2次方的3次方
  22. set /a a*=(a*=(a=p))*a
  23. echo %a%
  24. :7
  25. ::4次方的平方-1
  26. set /a a*=(a*=(a*=(a=p)))/p
  27. echo %a%
  28. :8
  29. ::4次方的平方
  30. set /a a*=(a*=(a*=(a=p)))
  31. echo %a%
  32. :9
  33. ::3次方的平方
  34. set /a a*=(a*=(a=p)*a)
  35. echo %a%
  36. pause>nul
  37. :10
  38. ::3次方的平方+1
  39. set /a a*=(a*=(a=p)*a)*p
  40. echo %a%
  41. :11
  42. ::4次方的3次方-1
  43. set /a a*=(a*=(a=p)*a)*a/p
  44. echo %a%
  45. :12
  46. ::4次方的3次方
  47. set /a a*=(a*=(a=p)*a)*a
  48. echo %a%
  49. pause>nul
  50. goto :1
复制代码
另PS:意义本身不大啦,因为算不了多少个数的幂次方,因为批处理的计算能力有限,只是一个思路的练习
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

本帖最后由 mxxcgzxxx 于 2011-7-1 23:26 编辑

只能测试到9所以还不够完善,超出的数太大了无法验证
只要分1,2就行了,原先的1,2,3想法有错,3=2+1
这样就能将规律统一了
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

返回列表