子序列的和
输入两个正整数n<m<10^6 ,输出 1/n^2+1/(n+1)^2+…+1/m^2,保留5位小数。输入包含多组数据,结束标记为n=m=0。提示:本题有陷阱。
样例输入:
2 4
65536 655360
0 0
样例输出:
Case 1: 0.42361
Case 2: 0.00001
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc= new Scanner(System.in); int flag=0; while(true){ flag++; double n = sc.nextDouble(); double m=sc.nextDouble(); if(n==0&&m==0){ break; } double sum=0; for(double i=n;i<=m;i++){ sum+=1/(i*i);//对于c语言,sum=sum+1/i/i,否则会有结果溢出 } System.out.println("Case "+flag+":"+String.format("%.5f",sum)); } } }