[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%a in (8 -1 0) do (
  3. set /a "tmp=1<<%%a"
  4. set "str=!str!*(^!^!(!tmp!>>m)+^!(!tmp!>>m)*m)"
  5. )
  6. for /l %%a in (1 1 9) do (
  7. set /a m=%%a,"n=!str:~1!"
  8. echo !n!
  9. )
  10. pause
复制代码

TOP

呵呵,版主真的有心了

但是个人感觉这怎么越搞越复杂了

请恕个人理解能力有限
一路飘过的鸟~~~

TOP

确实越写月复杂。

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

确实有点复杂,但是我的目的是写成函数,以便节省循环中计算N的N次方时的耗时,所以单次运行时是没有什么优势的

TOP

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

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

TOP

返回列表