数据溢出

输入两个正整数n<m<106,输出 ,保留5位小数。输入包含多组数据, 结束标记为n=m=0。提示:本题有陷阱。

样例输入:
2 4
65536 655360
0 0
样例输出:
Case 1: 0.42361
Case 2: 0.00001

#include
using namespace std;
int main()
{
    int n,m;
    while(scanf("%d%d",&n,&m)&&(n!=0||m!=0))
    {
        double sum=0;
        for(n;n<=m;n++)
        {
            sum+=1.0/n/n;
            //cout<

如果用sum+=1.0/(n*n); 会出现数据溢出的情况 为啥子呢?
你想想嘛 用6553665536 有多大 再看655360655360有多大
这样子就可以看得出会怎么样了
所以用题目中sum+=1.0/n/n;这样的方法

数据溢出溢出啊。。。。

你可能感兴趣的:(数据溢出)