习题2_4子序列的和

package 第二章习题;


import java.util.Scanner;


/*
 * 输入两个正整数n<m<1e6,输出1/n*n+1/(n+1)*(n+1)+...+1/m*m
 * 保留五位小数,输入包含多组数据,结束标记为n=m=0.
 * 提示:本题有陷阱
 * 样例输入:
 * 2 4
 * 65536 655360
 * 0 0
 * 样例输出:
 * Case 1: 0.42361
 * Case 2: 0.00001
 */
public class 习题2_4子序列的和 {


public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
double sum=0.0;
do
{
int n=in.nextInt();
int m=in.nextInt();
if(n==0&&m==0) 
{
break;
}

for(int i=n;i<=m;i++) 
{
//尝试将1/(n*n)转换为1/n/n的形式,可以避免溢出
sum+=1.0/i/i;
}
System.out.printf("%.5f",sum);
sum=0.0;
}while(true);

}


}
全部评论

相关推荐

点赞 评论 收藏
分享
头像 会员标识
05-26 10:24
门头沟学院 Java
qq乃乃好喝到咩噗茶:其实是对的,线上面试容易被人当野怪刷了
找工作时遇到的神仙HR
点赞 评论 收藏
分享
06-27 18:53
门头沟学院 Java
这样才知道自己不适合搞代码,考公去咯
只爱喝白开水:我也发现不适合搞代码,打算转非技术方向了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务