首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

两道简单的程序题目,求高手看看,该如何处理

2012-02-10 
两道简单的程序题目,求高手看看1.1+1/2+1/3+1/4+1/5+...+1/1002.1^2-2^2+3^2....+99^2-100^2的结果是publi

两道简单的程序题目,求高手看看
1.1+1/2+1/3+1/4+1/5+...+1/100
2.1^2-2^2+3^2....+99^2-100^2的结果是

public   class   test   {
public   static   void   main(String[]   args)   {
int   sum=0;
for(int   fm   =1;fm <=100;fm++){
sum+=1/fm;
}
//System.out.print( "1+1/2+1/3+1/4....+1/100的结果是: "   +   sum);
}
}

结果是1,我觉得肯定不对!


public   class   test   {
public   static   void   main(String[]   args)   {
int   n,sum=0,   i=-1;
for(n=1;n <101;n++){
sum+=i^(n+1)*(n^2);
}
System.out.print( "1^2-2^2+3^2....+99^2-100^2的和是: "   +   sum);
}
}

帮忙看看

[解决办法]
因为你的sum是int整型,应该用float或double,才能存储小数部分。
[解决办法]
第一题:
public static void main(String[] args) {
// TODO Auto-generated method stub
double sum=0;
for(double fm =1;fm <=100;fm++){
//System.out.println(1/fm);
sum=sum+1/fm;
}
System.out.println( "1+1/2+1/3+1/4....+1/100的结果是: " + sum);

}
你那样编译器算的整除!
[解决办法]
float sum=0;
for(int fm =1;fm <=100;fm++){
sum+=1.0/fm;
}
System.out.print( "1+1/2+1/3+1/4....+1/100的结果是: " + sum);
我的结果:
1+1/2+1/3+1/4....+1/100的结果是:5.187378

long n,sum=0, i=-1;
for(n=1;n <101;n++){
sum+=Math.pow(i, n+1)*(n*n);

错误:
1. sum 应该是float,不是int
2. ^是位移运算符,不是成方运算符。


[解决办法]
a^2-b^2=(a+b)(a-b)

热点排行
Bad Request.