方法:水题,注意阶乘递归的写法,输出问题。输出3以下的和3以上的分开。
AC代码:
#include <iostream>
#include <iomanip>
#include <string>
#include <cstring>
#include <cstdio>
#include <queue>
#include <stack>
#include <algorithm>
#include <cmath>
#include <ctime>
using namespace std;
int fac(int n)
{
if (1 == n || 0 == n)
return 1;
else
return n * fac(n-1);
}
void Calcu(int i)
{
int j = 0;
double sum = 0;
for (j = 0; j <= i; j++)
sum += 1.0/fac(j);
if (i < 3)
cout << i << " " << sum << endl;
else
cout << i << " " << fixed << setprecision(9) << sum << endl;
}
int main()
{
#ifdef Local
freopen("a.in", "r", stdin);
#endif
cout << "n e" << endl
<< "- -----------" << endl;
int i = 0;
for (i = 0; i <= 9; i++)
Calcu(i);
return 0;
}

本文提供了一种解决阶乘递归问题的方法,并通过实例展示了如何计算小于等于3的数与大于3的数的阶乘和。代码实现了输入范围内的阶乘和输出,对于理解递归和数学问题的编程实现具有指导意义。
&spm=1001.2101.3001.5002&articleId=21177705&d=1&t=3&u=a15e2067c1a345c385aa1a24ad58f02b)
1782

被折叠的 条评论
为什么被折叠?



