首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于计算功率的递归批处理脚本

用于计算功率的递归批处理脚本
EN

Stack Overflow用户
提问于 2017-11-18 06:07:02
回答 1查看 129关注 0票数 0

我试图弄清楚这个批处理脚本的错误在哪里,这个脚本用于通过递归函数" pow“来计算给定数字的幂,次数与幂的顺序一样多(在脚本中设置的幂是o3^3)。

我得到的错误是:"order1“未被识别为内部或外部命令、可操作程序或批处理文件。"base22“未被识别为内部或外部命令、可操作程序或批处理文件。这两个错误都在序列行中多次显示,直到语句“批处理递归超过堆栈限制”停止递归。有人能找到脚本中的错误吗?

代码语言:javascript
运行
复制
@echo off

set /a base1=3
set /a base2=3
set /a order=3
call :pow %base1%, %base2%, %order%
EXIT /B %ERRORLEVEL% 

:pow
set /a base11=%~1   
set /a base22=%~2
set /a order1=%~3
order1=order1-1
base22=base11*base22
if %order1% GTR 0 (call :pow %base11%, %base22%, %order1%)
else(echo the calculated pow is %base22%)
EXIT /B 0
EN

回答 1

Stack Overflow用户

发布于 2017-11-18 21:07:42

下面是我如何考虑在批处理文件中这样做:

代码语言:javascript
运行
复制
@Echo Off
Set "num1=3"
Set "num2=3"
Set "expo=3"

Set/A base=num1*num2
Set "rslt=1"
For /L %%A In (1 1 %expo%) Do Set/A rslt*=base
Echo %rslt%
Pause

请注意,您将受到最大32位整数的严重限制。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47359994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档