好了,什么都不多说全部是基于下面的c语言程序写的(根据那个4行算800位pi的修改的)
-
- #include "stdio.h"
- int a=10000,b,c=3500,d,e,f[3501],g;
- int main(){
- freopen("pi.out","w",stdout);
- int i;
- for(i=0;i<c;i++) f[i]=2000;
- d=0;
- g=c<<1;
- b=c;
- while (1){
- d+=f[b]*a;
- g--;
- f[b]=d%g;
- d/=g;
- g--;
- b--;
- if (b==0) break;
- d*=b;
- }
- c-=14;printf("3.141");
- e=d%a;
- while(c!=0){
- d=0;g=c<<1;b=c;
- while (1){
- d+=f[b]*a;g--;
- f[b]=d%g;
- d/=g;g--;b--;
- if (b==0) break;
- d*=b;
- }
- c-=14;printf("%.4d",e+d/a);
- e=d%a;
- }
- fclose(stdout);
- return 0;
- }
复制代码
xPi V1000 for Calculator Nspire_Lua Version
打开后在1.1按enter即可
结果会以字符串形式保存至out变量和outss数组
结果查看在1.2
help()是帮助
disper()将outss的数据以每行32位有效数字输出
整个计算大约35s(cx实体机),电脑上秒出
xPi V1000 for Calculator Nspire_TiBasic Version
执行calc()即可
结果每32位有效数字输出一次
整个计算大约6h(cx实体机),电脑上大概几min
xPi V1000 for Calculator fx-9xxx G1M Version
9860 & 9750 All Series适用
我有用“黑箱”的想法把4个list合成为一个3500的数组
子程序列表:
CK 用于检查输出结果的程序,可以显示当前的计算结果(list 1到4是黑箱的组成部分,5是结果保存区)
DS 计算时显示结果以及存储的程序
LS 数据输入黑箱程序
OT 从黑箱读入数据程序
PI 计算用主程序,每计算4位有效数字输出一次
总计算时间大概在2h 10min 左右,中途可按ac退出,但是下次需重新计算(迭代类算法的限制)
xPi V1000 for Calculator fx-9xxx G1A Version
不同机型请用不同版本,新9860建议不要用sd写入版本。
文件列表:
PISD.G1A :含SD卡写入版本,会将结果保存到SD根目录下PI.txt中,9860 GII SD适用
PISDNp.G1A :显示无暂停,会一直计算并显示直到计算结束,含SD卡写入版本,会将结果保存到SD根目录下PI.txt中,9860 GII SD适用
PINonSD.G1A :即无结果保存的版本,9860 All Series & 9750(Update to 9860)适用
PINonPs.G1A :显示无暂停,无结果保存版本,会一直计算并显示直到计算结束,9860 All Series & 9750(Update to 9860)适用
P.S:整个计算在10s左右(SD版本若第一次使用可能会慢一些),中途退出时请在显示Press字样时按MENU即可,无暂停版本请等待计算完毕。计算完毕以后会显示Calculate completed. 此时按MENU即可退出。
下面贴一下计算时间:
Native(自带编程语言) SDK(CX是TI-Lua,9860为C)
CX 6h 左右 35s
9860 2h 10min左右 10s
算pi作为性能测试可以看出各计算器的编程语言效率的优劣,欢迎大家用其他机型测试
|