输入两个整数n<m<10^6,输出1/n^2+1/(n+1)^2+...+1/m^2,保留五位小数。例如n=2,m=4时答案是0.42361;n=65536,m=655360时答案为0.00001.注意:本题有陷阱。
其实呢,所谓的陷阱就是数据溢出了,定义一个大点的数据类型就ok了。
#include <iostream>
using namespace std;
int main()
{
int m,n,i;
double s=0;
cin>>n>>m;
for( i = n ; i <= m ; ++i )
s+=1.0/i/i;
printf("%.5lf\n",s);
system("pause");
return 0;
}