计算1-1/3!+1/4!-1/5!+1/6!-1/7!+1/8!的程序,要求只能用for循环,不用Math.pow调正负

解决方案 »

  1.   

    for example
    double sum=1.0, p=1.0;
    int flag = -1;
    for (int i=1; i <= 8; i++) {
        p = p*i;
        if (i > 2) {
            sum += flag/p;
            flag *= -1;
        }
    }
      

  2.   

    题目给错了,用eclipse编写1-1/3!+1/5!-1/7!+1/9!-/11!,要求用for还有一个sign符号变量调正负
      

  3.   

    float sum = 1;
    float sign = 1;
    for (int i = 1; i <= 11; i = i + 2) {
    int fact = 1;
    for (int j = 1; j <= i; j++) {
    fact = fact * j;
    }
    if (i == 1)
    sum = 1;
    else
    sum = sum + sign * 1 / fact; sign = sign * (-1); }
    System.out.println(sum);
      

  4.   

    怎么不是阶乘了?p=p*i,i一直递增,你可以运行看看是不是阶乘结果