问题描述 :
利用公式e=1+ 1/1! + 1/2! + 1/3! + … + 1/n!,编程计算e的近似值,直到最后一项的绝对值小于threshold(该项不包括在结果内),输出e的值并统计累加的项数。
输入说明 :
输入一个实数threshold,表示累加的阈值,数列中最后一项的值大于等于该阈值。Threshold最小可为1e-10。
输出说明 :
输出一个实数表示e的值,保留6位小数,并输出一个整数,表示累加的项数。两个数字之间用一个空格分隔,在行首和行尾没有多余的空格。
输入范例 :
0.00001
输出范例 :
2.718279 9
完整C++代码
还是听简单的
#include <bits/stdc++.h>
using namespace std;
int main()
{
double threshold, sum = 0;
cin >> threshold;
int i = 1;
long long t = 1;
while (true) {
if (1.0 / t < threshold) break;
sum += 1.0 / t;
t *= i;
i++;
}
printf("%.6f %d", sum, i - 1);
return 0;
}
😋欢迎大伙私信或者评论区交流讨论😋