[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]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

最后少了个<nul&pause.

[ 本帖最后由 yslyxqysl 于 2009-2-22 21:58 编辑 ]

TOP

回复 2楼 的帖子

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

TOP

有 set/p=  就停了吧.
pi=2*1+2*1!/3!!+2*2!/5!!+2*3!/7!!+...+2*k!/(2*k+1)!!+...

这公式在后面越来越慢,计算也有限,不过挺好了.
何时才有自己的头像?

TOP

plp626,兄弟,我们有好久没见了,我是cn-dos的ZW750516,你能来到我们论坛,我真是太高兴了。。。
***共同提高***

TOP

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

TOP

昨晚正想问你公式是啥的...
之前见est用python写过一个,好像速度更快...
for /f "delims=" %%a in ('%0') do (echo %%a)

TOP

回复 7楼 的帖子

python的优势之一是它的数据类型可以存放N大的数据^_^
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

plp626这个“老古董”居然重新冒出来了。
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

核潜水艇浮起来拉 ~
话说这里成为迎宾大道了  欢迎~

TOP

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

TOP

这个牛,顶一下古董兄

TOP

为什么叫“古董兄”?

TOP

13# zz100001


你看他的注册日期就明白了。

TOP

关键是效率……

TOP

返回列表