16. 计算SUM的值
已知公式:SUM = 1 + 1/2 + 1/3 + 1/4 + ... + 1/n
输入:
n
输出:
表达式 sum 的值。结果保留 6 位小数。
| 测试输入 | 期待的输出 | 时间限制 | 内存限制 | 额外进程 | |
|---|---|---|---|---|---|
| 测试用例 1 | 以文本方式显示
| 以文本方式显示
| 1秒 | 64M | 0 |
| 测试用例 2 | 以文本方式显示
| 以文本方式显示
| 1秒 | 64M | 0 |
| 测试用例 3 | 以文本方式显示
| 以文本方式显示
| 1秒 | 64M | 0 |
#include "stdio.h"
int main()
{
int i, n;
scanf("%d", &n);
getchar();
double sum = 0;
for (i = 1; i <= n; i++)
{
sum += (double)1 / i;
}
printf("%lf\n", sum);
return 0;
}
用递归实现:
如果n==1,则f(n) = 1;
如果n > 1,则f(n) = 1/n + f(n-1);
#include "stdio.h"
double Sum(int n)
{
if(n == 1)
return 1.0;
else
return (double)1/n + Sum(n-1);
}
int main()
{
int n;
scanf("%d", &n);
getchar();
printf("%lf\n", Sum(n));
return 0;
}
博客介绍了如何计算SUM的值,即1 + 1/2 + 1/3 + 1/4 + ... + 1/n,根据给定的n输出求和表达式的值,结果精确到6位小数。
1233

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



