批处理bat递归计算N!的实现代码

核心代码:

@echo off
:: 代码来自网友:liangbch
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^^!= 
 

双击输入数字即可。

你可能感兴趣的:(批处理bat递归计算N!的实现代码)