题目
输入两个正整数n<m<10^6 ,输出 ,保留5位小数。输入包含多组数据,
结束标记为n=m=0。提示:本题有陷阱。
样例输入:
2 4
65536 655360
0 0
样例输出:
Case 1: 0.42361
Case 2: 0.00001
解答
注:陷阱就是在n特别大时如果直接n*n就会溢出,所以只能连除两次
#include<stdio.h>
int main() {
int count = 0;
while (1) {
int n = 0;
int m = 0;
scanf("%d", &n);
scanf("%d", &m);
if (n == m&&n == 0) {
break;
}
count++;
double sum = 0;
for (int i = n; i <= m;i++) {
sum += 1.0 / i / i;
}
printf("Case %d:%.5f\n",count,sum);
}
return 0;
}
© 版权声明
本站所有文章,如无特殊说明或标注,均为本站原创发布。如需转载,请注明出处。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
THE END
请登录后查看评论内容