[C++] 子序列的和
题目
输入两个正整数n<m<106,输出(1/n2)+[1/(n+1)2]+…+(1/m2),保留5位小数。输入包含多组数据,结束标记为n=m=0。提示:本题有陷阱。
样例输入:
2 4
65536 655360
0 0
样例输出:
Case 1: 0.42361
Case 2: 0.00001
代码实现
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double n, m, t = 0;
cin>>n>>m;
while(!(n == 0 && m == 0)) //判断结束条件
{
for(; n <= m; n++) //累加
{
t += 1 / (n * n);
}
cout<<fixed<<setprecision(5)<<t<<endl; //设置输出格式
t = 0;
cin>>n>>m;
}
return 0;
}