如果过程中保留18位小数,其实只要计算60项不到就可以得到 3.14159265358979 了。
固然是。 祖冲之一定是手动计算的吧,计算机那时似乎还未出现,可别祖门计数哟 计算的结果:
0,2,8,28,53,74,106,114,171,132,212,185,276,289,371,327,371,468
保存。
乘10,加上后面的数 以上结果纯手动计算,验算完毕。下一个数499。不往下算了。
经验总结:
手动计算比较容易出错。要反复验算才行。
这个是我的验算程序。
再放个tinyC编译器也放这里了。
[ 本帖最后由 aubell 于 2011-7-8 07:13 编辑 ]
一个挑战
用BrainF**K语言写一个计算PI的程序看看牛人的牛程序吧
牛人用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 编辑 ] 稍微有点不同的是:
告诉数字给人家的时候:
用48代表0,用49代表1,50代表2,类推;
用65代表大写的A,66代表大写的B,类推;
用97代表小写的a,98代表小写的B,类推。
[ 本帖最后由 aubell 于 2011-7-18 21:42 编辑 ] 算过,几位后晕菜了。。。。