码迷,mamicode.com
首页 > 其他好文 > 详细

子序列的和

时间:2014-07-17 14:29:32      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   width   io   for   

输入两个正整数n<m<10^6,输出1/n^2 + 1/(n+1)^2 + …… + 1/m^2,保留5位小数。例如n=2,m=4时答案是0.42361;n=65536,m=655360时答案为0.00001。注意:本题有陷阱。

分析:for循环累加。本题陷阱在于n比较大时,n*n会溢出,所以 1/n^2 应该用 1/n/n 而不是 1/(n*n)。

源码:

#include<stdio.h>
int main()
{
    int n,m,i;
    double sum;
    while(~scanf("%d %d",&n,&m))
    {
        sum=0;
        for(i=n;i<=m;i++)
        {
            sum+=(double)1/i/i;
        }
        printf("%.5lf\n",sum);
    }
    return 0;
}

子序列的和,布布扣,bubuko.com

子序列的和

标签:style   blog   color   width   io   for   

原文地址:http://www.cnblogs.com/lipching/p/3850876.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!