> 其他 >
编写程序,求下面数列的前若干项之积,直到第一次出现积小于0.0001为止,并输出此时已经参与运算的数列项数和最终的积.结果保留6位小数.
1/(1*2),1/(3*4),1/(5*6),……,1/((2n-1)*(2n)),……
人气:258 ℃ 时间:2020-08-28 00:31:22
解答
参考程序如下:#include "stdio.h"void main(){int n = 1;double fac,product = 1;do{fac = 1.0 / n / (n+1);product *= fac;n += 2;}while(product >= 1e-4);printf("n = %d\tproduct = %.6lf\n",n-2,product);}输...能给个正好的答案吗?其实这个正是正好的答案。不信,你可以看下面修改后的代码及运行结果:#include "stdio.h"void main(){int n = 1;double fac, product = 1, temp;do{temp = product;fac = 1.0 / n / (n+1);product *= fac;n += 2;}while(product >= 1e-4);printf("n = %d\tproduct = %.6lf\ttemp = %.6lf\n", n-2, product, temp);}输出结果:n = 7product = 0.000025temp = 0.001389temp是product的上一个值,只有product才满足要求,最后的temp并不满足要求。
推荐
猜你喜欢
© 2024 79432.Com All Rights Reserved.
电脑版|手机版