7-6 求平方与倒数序列的部分和 (10 分)
本题要求对两个正整数m和n(m≤n)编写程序,计算序列和m2+1/m+(m+1)2+1/(m+1)+⋯+n2+1/n。
输入格式:
输入在一行中给出两个正整数m和n(m≤n),其间以空格分开。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。
输入样例:
5 10
输出样例:
sum = 355.845635
答案
#include<stdio.h>
#include<math.h>
int main() {
int m, n;
double sum = 0, i; //这里要把i定义成double型,当下面1/i时取得不是整数,当i为双精度浮点数时才能有小数
scanf("%d %d", & m,&n);
for (i = m; i <= n; i++)
sum = sum + pow(i, 2) + 1 / i;
printf("sum = %.6f", sum);
return 0;
}