昨天晚上用数学软件给老大演示圆周率pi的计算,老大很感兴趣,记住了圆周率小数点后前17位数字。我们先用Gregory-Leibniz级数进行计算,发现计算到一百万项得到的精确度只有小数点后十来位,但电脑需要计算好几分钟,接下来我们用Ramanujan级数进行计算,发现前五项的精度已经达到十几位了,老大问:能不能找到收敛速度更快的级数。
1、C语言中如何用实验的方法确定double型浮点数能精确到多少位小数?
转换类型有这个语句的,比如我设个floatx如果我想把这个变量转换成double就可以这样写(double*)x公式为(要转换的类型*)变量,记住就可以了,以后什么都能转换,这叫强制转换。#includestdio.hintmain(){printf(%.50lf,1.0/3.0);//超过一定位数,显示的就是错误的了,这样可以看出double的精确度return0;}。
2、c语言中如何判断计算结果精确到小数点后8位
intmultiply(inti){if(i1||i0)return1;elsereturn(i*multiply(i1));}int_tmain(intargc,_TCHAR*argv[]){inti1,j1;doublex;scanf(%lf,