循环-计算sum的值

博客介绍了如何计算SUM的值,即1 + 1/2 + 1/3 + 1/4 + ... + 1/n,根据给定的n输出求和表达式的值,结果精确到6位小数。

16. 计算SUM的值


已知公式:SUM = 1 + 1/2 + 1/3 + 1/4 + ... + 1/n

输入:

    n

输出:

    表达式 sum 的值。结果保留 6 位小数。

  测试输入关于“测试输入”的帮助 期待的输出关于“期待的输出”的帮助 时间限制关于“时间限制”的帮助 内存限制关于“内存限制”的帮助 额外进程关于“{$a} 个额外进程”的帮助
测试用例 1 以文本方式显示
  1. 1↵
以文本方式显示
  1. sum=1.000000↵
1秒 64M 0
测试用例 2 以文本方式显示
  1. 2↵
以文本方式显示
  1. sum=1.500000↵
1秒 64M 0
测试用例 3 以文本方式显示
  1. 3↵
以文本方式显示
  1. sum=1.833333↵
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;
}



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值