题目
输入两个正整数 n< m < 10^6, 输出 1/n^2 + 1/(n+1)^2 + ... + 1/m^2 ,保留5位小数。
输入包含多组数据,结束标记为 n = m = 0.
样例输入:
2 4
65536 655360
0 0
样例输出:
Case 1: 0.42361
Case 2: 0.00001
c实现
#include<stdio.h>
int main()
{
int n,m;
double s;
while(true){
s=0.0;
scanf("%d",&n);
scanf("%d",&m);
if(n==m&& m==0) break;
else
{
for(int i=n;i<=m;i++)
{
s += 1.0/i/i;
//printf(" s: %.5f\n",s);
}
printf("%.5f\n",s);
}
}
}
//子序列的和
//不能用s += 1.0/i*i 因为i*i会有溢出