∑k=1100k +∑k=150k2 +∑k=1101k

(sumlimits_{k=1}^{100}k) +(sumlimits_{k=1}^{50}{k}^2) +(sumlimits_{k=1}^{10}{frac{1}{k}})

答案解析:

对于(sumlimits_{k=1}^{100}k)而言,指的是求从1到100的和。每个数字为整数,求和也为整数

对于(sumlimits_{k=1}^{50}{k}^2)而言,指的是求从12到502的和。每个数字为整数,求和也为整数。

对于(sumlimits_{k=1}^{10}{frac{1}{k}})而言,指的是求从(frac{1}{1})(frac{1}{10})的和。每个数字不是整数,求和也不是整数。

综上所述:求和结果不是整数,所以定义求和变量是需要定义为带有精度的变量double

该题目,最大的求和是从从1到100,所以需要一个循环,从1遍历到100。针对第一种情况,则遍历100次停下来。针对第二种情况,则遍历50次的时候停下来,针对第三种情况,则遍历10遍就停下来。

最后,在遍历每一个数字的时候,针对三种不同的情况求和。最后将三种不同请求的和加起来就是总体的和

代码示例:

#include <stdio.h>

int main()
{
	double total_sum = 0, sum1 = 0, sum2 = 0, sum3 = 0.0;
	for (int k = 1; k <= 100; k++)
	{
		sum1 += k;
		//遍历50次就不在执行情况2
		if (k <= 50)
		{
			sum2 += k * k;
		}
		//遍历10次就不在执行情况3
		if (k <= 10)
		{
			sum3 += 1.0 / k;
		}
	}
	total_sum = sum1 + sum2 + sum3;
	printf("三种情况求和结果为:%lf
", total_sum);
	return 0;
}

运行截图:

∑k=1100k +∑k=150k2 +∑k=1101k

原文地址:https://www.cnblogs.com/weiyidedaan/p/13631107.html