子序列的和

题目

输入两个正整数 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
",s);
            }
            printf("%.5f
",s);
        }
    }
}

//子序列的和 
//不能用s += 1.0/i*i 因为i*i会有溢出 
原文地址:https://www.cnblogs.com/Vincent-yuan/p/12885045.html