目的:求解一个有关m和n的子序列的和
要求:
输入:n<m<106,输出,输入结束标记为n=m=0
输出:输出序列1/n2+1/(n+1)2+...+1/m2的值
样例输入:2 4
65536 655360
0 0
样例输出:0.42361
0.00001
思路:循环结构(多个输入),暴力求解。
代码如下:
#include<stdio.h>
int main()
{
int min, max;
for( ; ; ){
double sum = 0;
scanf("%d%d", &min, &max);
if(!min && !max){
break;
}
for(int i = min; i <= max; i++){
sum += (1.0 / i / i);//1.0!
}
printf("%.5lf\n", sum);
}
return 0;
}
易错点:一定要是1.0被除,否则右侧表达式的值是整型值;不能1/(i * i),要两次除以i,不然会溢出
本文介绍了一种使用C++编程语言求解特定数学序列和的方法。通过循环结构,该程序能够接受用户输入的两个整数n和m(n<m<10^6),并计算从1/n^2到1/m^2的所有项之和。文章提供了完整的代码示例,强调了在进行除法运算时使用浮点数的重要性,以避免整数溢出。
1011

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



