利用pi/4 = 1 - 1/3 + 1/5 - 1/7 + ...,编程计算pi的近似值,直到最后一项的绝对值小于10 相关知识点: 试题来源: 解析 你的问题主要是类型的问题. 因为a 是int型的,你在计算的时候不转型成浮点型是不对的(1/a=0) 因此你要写成: pi=pi+1.0/(2*a-1); pi=pi-1.0/(2*a-1); 还有判断...
store = 1flag = -1for n in range(1, 10 ** 10): n = 2 * n + 1 m = 1 / n * flag flag *= -1 if abs(m) > 10 ** -6: store += m else: print("π值≈", store) break执行结果:π值≈ 0.785397663397423 ...
因为a 是int型的,你在计算的时候不转型成浮点型是不对的(1/a=0)因此你要写成:pi=pi+1.0/(2*a-1);pi=pi-1.0/(2*a-1);还有判断条件:while ((1.0/a)>1e-4);另外,你注意了没有这个公式是pi/4所以为了得到要求的输出,你要写:printf("pi = %f\ncount = %d\n",pi*4,...