这篇文章主要介绍了批处理bat如何递归计算N!,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
核心代码:
@echo off
setlocal enabledelayedexpansion
echo To calculate n^^!
set/p nn=n=?
set/a "buff_1=1,rad=10000,len=1"
for /l %%i in (1,1,%nn% ) do (
set/a cc=0
for /l %%j in (1,1,!len!) do (
set/a "tt=buff_%%j* %%i+!cc!"
set/a "buff_%%j=!tt! %% !rad!,cc=!tt!/!rad!"
)
if !cc! gtr 0 (
set/a len+=1
set/a buff_!len!=!cc!
)
)
set/p xx=n^^!=<nul
set/a tt=buff_%len%
set/p xx=!tt!<nul
set/a len-=1
for /l %%i in (%len%,-1,1 ) do (
set/a tt=buff_%%i
if !tt! lss 1000 set tt=00000!tt!
set/p xx=!tt:~-4!<nul
)
echo.
pause
双击输入数字即可。
感谢你能够认真阅读完这篇文章,希望小编分享的“批处理bat如何递归计算N!”这篇文章对大家有帮助,同时也希望大家多多支持天达云,关注天达云行业资讯频道,更多相关知识等着你来学习!