計算圓周率π小數點後前800位的“易語言.飛揚”程序源代碼如下,作者石章能,轉換自相應的C代碼:
{
公開 靜態 啓動()
{
int a=10000,b, c=2800, d, e;
int[] f;
f=創建 int[2801];
for(;b-c!=0;)
{
f[b]=2000; b++;//控制檯.輸出(f[b]);
}
for(;c!=0;{c-=14;控制檯.輸出((e+d/a).到文本().左邊(4));e=d%a;})
{
for({b=c;d=f[b]*10000;f[b]=d%(b*2-1);d=d/(b*2-1);b--;};b!=0;)
{
d=d*b+f[b]*10000;
f[b]=d%(b*2-1);
d=d/(b*2-1);
b--;
}
}
控制檯.輸出行(" 請按回車鍵退出程序");
控制檯.輸入文本();
}
}
原始C代碼如下(艱澀很懂,以簡短著稱):
#include < stdio.h>
long a=10000, b, c=2800, d, e, f[2801], g;
main(){
for(;b-c;)f[b++]=a/5;
for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)
for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);
}
/* (本程式可算出pi值連小數點前共800位)
(本程式錄自sci.math FAQ,原作者未詳)*/
請參考:http://bbs.dywt.com.cn/dispbbs.asp?boardid=148&id=146779&star=1,其中有比較深入細緻的解釋。