e=1+1/1!+1/2!+1/3!+....+1/n!+.....的近似值,要求误差小于0.0001,用application实现开发环境好象是j2sdk  由于是选修课一直没去听 所以一点都不懂 麻烦各位高手给看看每句后面麻烦标个注释 简单说明一下感谢.!

解决方案 »

  1.   

    题目不难么,不过CSDN向来拒绝楼主这样的作业贴的,当我们廉价劳动力么,还每句都标注释,简单说明一下,超麻烦的
      

  2.   

    可能。。大概。。也许是这么做。。
    public class Factorial {

    public static void main(String[] args){

    doit();

    }

    public static double fact(int n){
    if(n==0){
    return 1;
    }else{
    return (n*fact(n-1));
    }
    } public static void doit(){
    int i=0;

    double e=0.0;
    while(true){

    e=e+1/fact(i);
    i++;
    if(Math.abs(e-Math.E)<0.00001) break;
    }
    System.out.println(e);
    System.out.println(i); }
    }
      

  3.   

    int main(int argc, char* argv[])
    {
    double S = 0.0 ;
    double s = 1 ;
    double i = 1 ;
    double t = 1 ;
    while( t > 0.0001 )
    {
    t = 1/(s*i) ;
    s=s*i ;
    S += 1/s ;
    i++ ;
    }
    printf("%lf\n",S+1);
    return 0;
    }
    这是一个朋友用C++写的.. 哪位可以用java的语法写一下..?
      

  4.   

    晕..直接拷贝一下就好了..class  test1
    {
    public static void main(String[] args) 
    {
    double S = 0.0 ;
    double s = 1 ;
    double i = 1 ;
    double t = 1 ;
    while( t > 0.0001 )
    {
    t = 1/(s*i) ;
    s = s*i ;
    S += 1/s ;
    i++ ;
    }
    S += 1;

    System.out.println( new java.math.BigDecimal(S).setScale(6,5) );
    }
    }
      

  5.   

    public int s(int n)
    {
    int sum=1;for(int i=1;i<=n;i++)
    {
    sum=sum*i;
    }return sum;
    }
    public double su(int n)
    {
    int sum1=0;for(int i=1;i<=n;i++)
    {
    sum1=sum1+1/s(i);
    }return sum1;
    }