龚永明魔方 发表于 2011-6-30 13:16:23

原帖由 aubell 于 2011-6-29 22:10 发表 http://bbs.mf8-china.com/images/common/back.gif
如果过程中保留18位小数,其实只要计算60项不到就可以得到 3.14159265358979 了。
固然是。

lzy5010 发表于 2011-6-30 13:38:19

祖冲之一定是手动计算的吧,计算机那时似乎还未出现,可别祖门计数哟

aubell 发表于 2011-7-2 21:53:47

计算的结果:

0,2,8,28,53,74,106,114,171,132,212,185,276,289,371,327,371,468

保存。

乘10,加上后面的数

aubell 发表于 2011-7-7 22:49:57

以上结果纯手动计算,验算完毕。下一个数499。不往下算了。
经验总结:
手动计算比较容易出错。要反复验算才行。
这个是我的验算程序。
再放个tinyC编译器也放这里了。

[ 本帖最后由 aubell 于 2011-7-8 07:13 编辑 ]

aubell 发表于 2011-7-14 22:48:12

一个挑战

用BrainF**K语言写一个计算PI的程序

aubell 发表于 2011-7-18 19:18:52

看看牛人的牛程序吧

牛人用BrainFK写的计算PI的程序
[ yet another pi calculation program in bf
  Just like for pi16.b the accuracy of the result depends on the cellsize:

   - using  8 bit cells causes an overflow after 4 digits
   - using 16 bit cells causes an overflow after 537 digits
   - using 32 bit cells causes an overflow after several millions of digits
  
  It's about ~38 times shorter than pi16.b, ~364 times faster and works with
  not-wrapping (bignum) implementations.

  by Felix Nawothnig (felix.nawothnig@t-online.de) ]
>  +++++ +++++ +++++ (15 digits)
[<+>>>>>>>>++++++++++<<<<<<<-]>+++++[<+++++++++>-]+>>>>>>+[<<+++[>>[-<]<[>]<-]>>
[>+>]<[<]>]>[[->>>>+<<<<]>>>+++>-]<[<<<<]<<<<<<<<+[->>>>>>>>>>>>[<+[->>>>+<<<<]>
>>>>]<<<<[>>>>>[<<<<+>>>>-]<<<<<-[<<++++++++++>>-]>>>[<<[<+<<+>>>-]<[>+<-]<++<<+
>>>>>>-]<<[-]<<-<[->>+<-[>>>]>[[<+>-]>+>>]<<<<<]>[-]>+<<<-[>>+<<-]<]<<<<+>>>>>>>
>[-]>[<<<+>>>-]<<++++++++++<[->>+<-[>>>]>[[<+>-]>+>>]<<<<<]>[-]>+>[<<+<+>>>-]<<<
<+<+>>[-[-[-[-[-[-[-[-[-<->[-<+<->>]]]]]]]]]]<[+++++[<<<++++++++<++++++++>>>>-]<
<<<+<->>>>[>+<<<+++++++++<->>>-]<<<<<[>>+<<-]+<[->-<]>[>>.<<<<[+.[-]]>>-]>[>>.<<
-]>[-]>[-]>>>[>>[<<<<<<<<+>>>>>>>>-]<<-]]>>[-]<<<[-]<<<<<<<<]++++++++++.写程序写到这个境界,应该是极高的了!!
感觉这个程序比网络上常见的短小的c语言计算程序还要牛。
有空了分析一下算法。
放个BrainFK的解释器在这里。


BrainFK的语言简短介绍:

先假设你有三样东西:铅笔,橡皮,长长的纸带。

每次往格子里写数的时候,都先擦掉该格中原来的数。

纸带上有很多格子,格子里面都写着“0”。

开始的时候,你用铅笔笔尖点着任意一个格子。

然后,按照以下过程执行程序:

看到 > 就把笔尖往右边移动一格;

看到 < 就把笔尖往左边移动一格;

看到 + 就把笔尖指点的数加 1 ,改写好;

看到 - 就把笔尖指点的数减 1 ,改写好;

看到 , 就让别人报一个数,写在笔尖指点的格子里;

看到 . 就把笔尖指点的数字告诉给人家;

看到 [ ]  扩起来的部分:要这样做
只要笔尖指点的不是0,就做一遍括号里的动作;
再看,笔尖指点的如果不是0,就再做一遍...
直到某一遍结束,笔尖恰好指着一个0

整个语言只有八个符号,是不是比魔方还简单?

上面的程序是高手写的,可以计算PI的。

[ 本帖最后由 aubell 于 2011-7-18 21:40 编辑 ]

aubell 发表于 2011-7-18 21:09:21

稍微有点不同的是:
告诉数字给人家的时候:
用48代表0,用49代表1,50代表2,类推;
用65代表大写的A,66代表大写的B,类推;
用97代表小写的a,98代表小写的B,类推。

[ 本帖最后由 aubell 于 2011-7-18 21:42 编辑 ]

JustinChatman 发表于 2011-8-9 16:48:41

算过,几位后晕菜了。。。。

以魔会友 发表于 2011-8-22 20:01:12

我曾经用计算器尝试过,无限分割圆到百万记

我曾经用计算器尝试过,无限分割圆到百万记。可惜计算器不给力,只得出9位数(貌似)

焚寂 发表于 2011-8-22 20:17:24

永远也算不完啊!!!……………………
页: 1 2 3 4 5 6 [7] 8 9 10 11
查看完整版本: 有人尝试过手动计算圆周率pi吗?