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

[数值计算] 批处理计算圆周率任意位

本帖最后由 plp626 于 2014-5-16 23:11 编辑

直接双击:默认计算100位,
命令行下:第一个参数(正整数)为计算圆周率的位数

  1. @echo off&title 计算圆周率 by plp626
  2. setlocal enabledelayedexpansion
  3. if %1.==. (set c=100) else set/a c=%1
  4. set/a c=(c*100/3)+70,cc=c/10,n=cc
  5. for /l %%a in (1 1 %cc%)do set/a f_%%a=2000
  6. for /l %%a in (%c% -132 100)do (set/a n=%%a/10,m=2*n-1
  7.    set/a "d=f_!n!*10000,f_!n!=d%%m,d=d/m,n-=1"
  8.    for /l %%b in (!n! -1 1)do (set/a n=%%b,m=2*n-1
  9.       set/a "d=d*n+f_!n!*10000,f_!n!=d%%m,d=d/m,n-=1"
  10.    )
  11.    set/a "an=e+d/10000,e=d%%10000"
  12.    if !an! lss 1000 set an=000!an!
  13.    set/p=!an:~-4!<nul
  14. )
  15. echo\&echo/&set/p=数学爱好者加我QQ:275928264,验证号:plp626
复制代码


所用公式:
pi=2*1+2*1!/3!!+2*2!/5!!+2*3!/7!!+...+2*k!/(2*k+1)!!+...

6

评分人数

    • 老刘1号: 6666666666666666666666666666666666666666技术 + 1
    • 523066680: 今天回来看帖,膜拜!PB + 30 技术 + 10
    • zm900612: 保持队形技术 + 1
    • 随风:PB + 11
    • batman: 数学高人,多谢分享!技术 + 1

回复 2楼 的帖子

no,no,no
不需要....

TOP

zw兄,还记得俺,感觉很亲切,其实我早来这里了,只是没时间上网罢了,

TOP

一楼代码有一处笔误,导致后面精度有所丢失,两年多了,今儿才发现,现在已改正过来。

TOP

返回列表