习题 2-4 子序列的和 (subsequence)(C语言版)

习题描述: “输入两个正整数 n < m < 106,输出1/n2+1/(n+1)2+…+1/m2,保留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,i,k;
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		double sum=0;
		if(n==0&&m==0)
		{
			break;
		}
		for(i=n;i<=m;i++)
		{
			sum=sum+(1.0/i)/i;//换成i*i会有运算结果溢出//
		}
		
		printf("Case %d: %.5f",k++,sum);
	}
	return 0;
} 

新手上路,如有不当,欢迎指正,谢谢 ! ! !

猜你喜欢

转载自blog.csdn.net/qq_41961380/article/details/82219873