计算一个交错级数的和
Description
计算Π/4= 1-1/3+1/5 - 1/7 + ......,直到最后一项小于10⁻⁶。保留小数点后六位。
注意:计算到最后一项小于10⁻⁶时,就停止。
Input
无需输入
Output
3.141591
python解法
s = 0.0 # 初始化变量s为0.0,用于存储累加的结果
t = -1 # 初始化变量t为-1,表示每一项的符号,初始为负数
i = 1 # 初始化变量i为1,表示当前正在计算的项数
# 循环直到某一项小于10^-6
while True: # 开始一个无限循环
n = 1 / i # 计算当前项的值,即1除以i
if n < 1e-6: # 判断当前项的值是否小于10^-6,也可以写成10**-6
break # 如果小于10^-6,则跳出循环
s += t * n # 将当前项的值加到s上,注意要乘以t来表示正负号
t = -t # 切换t的符号,即如果之前是-1,则变为1;如果之前是1,则变为-1
i += 2 # i的值增加2,因为此代码实现的是交错级数求和,即1, -1/3, 1/5, -1/7,...
# 输出结果,保留6位小数
print(f"{abs(s) * 4:.6f}") # 输出s的绝对值乘以4的结果,并保留6位小数。
c++解法
#include<bits/stdc++.h>
using namespace std;
int main() {
double n,s=0,t=-1;
for(int i = 1; i<=999999999; i+=2) {
n = 1.0/i;
if(n<pow(10,-6)) {
cout<<n<<endl;
break;
}
s += t*n;
t = -t;
}
cout<<fixed<<setprecision(6);
cout<<fabs(s)*4<<endl;
return 0;
}
如果您有更优的解法,欢迎在评论区一起交流噢~
阅读剩余
作者:小鱼
链接:https://www.52stu.com/?p=160
文章版权归作者所有,未经允许请勿转载。
链接:https://www.52stu.com/?p=160
文章版权归作者所有,未经允许请勿转载。
THE END