自然常数 e 可以用级数 1+1/1!+1/2!+?+1/n!+? 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。
输入第一行中给出非负整数 n(≤1000)。
在一行中输出部分和的值,保留小数点后八位。
10
2.71828180
#include <stdio.h> double facter (int n){//用double类型接收,题目要求n<=1000算出的阶乘超出int范围 if (n == 1) return 1; return facter(n-1) * n; } int main() { int n; double sum = 1.0; scanf("%d",&n); for (int i=1;i<=n;i++) { sum += 1.0/facter(i); } printf("%.8lf",sum); return 0; }
原文:https://www.cnblogs.com/cgy-home/p/15070342.html