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

[数值计算] 批处理穷举法计算开方

  1. @echo off
  2. :Main
  3. cls
  4. set x=
  5. set n=
  6. set /p x=     请输入被开方的数:
  7. set /p n=     请输入开方次数:
  8. set /a mod=%n%%%2
  9. if %x% equ 1 (
  10.     echo.
  11.     echo      %x% 的 %n% 次方根是 1
  12.     echo.
  13.     pause
  14.     goto Main
  15. )
  16. set /a quotient=x/n
  17. set flag=
  18. for /l %%i in (2,1,%quotient%) do (
  19.     set num=%%i
  20.     for /l %%j in (2,1,%n%) do (
  21.         set /a num=%%i*!num!
  22.     )
  23.     if !num! equ %x% (
  24.         echo.
  25.         if %mod% equ 0 (
  26.             echo      %x% 的 %n% 次方根是 ±%%i
  27.         ) else echo      %x% 的 %n% 次方根是 %%i
  28.         echo.
  29.         set flag=1
  30.         goto end
  31.     )
  32. )
  33. :end
  34. if not defined flag (
  35.     echo.
  36.     echo      %x% 的 %n% 次方根不是整数
  37.     echo.
  38. )
  39. pause
  40. goto Main
复制代码

这是穷举法
前面少了句setlocal enabledelayedexpansion
不是原创,只是看到了算法,拿了来共享

TOP

批处理我还是小儿科,请大家多多关照

TOP

返回列表