貌似要总结个什么公式

解决方案 »

  1.   

    public class Average
    {public int total(int i){
      if(i==1){
      return 1;
      }
    if(i>1){
    return (i+total(i-1));
    }
    return i;
    }
    public static void main(String[] args){
      Average a =  new Average();
      int b =a.total(100);
      double c = b/100;
      System.out.println("total is"+c);
    }}
      

  2.   

    猜下,假设保存在一个数组arr里面,大概就这下面这样了吧?
     avg(i)=(avg(i-1)*(i-1)+arr[i-1])/i
      

  3.   

    为什么要用递归呢,用递归又慢又耗的。public class Test {
        public static void main(String[] args) throws IOException {
            int[] nums = new int[100];
            for (int i = 0; i < 100; i++) {
                nums[i] = i + 1;
            }
            System.out.println(average(nums, 0, 0));
        }    private static double average(int[] nums, int index, int sum) {
            if (index == nums.length) {
                return (double)sum / nums.length;
            } else {
                return average(nums, ++index, sum + nums[index - 1]);
            }
        }
    }
      

  4.   

    int avg(int i)的话,那arr哪来的?
    很明显,肯定得是avg(int[] arr)的形式..
      

  5.   

    很明显吗?不可以自己写个OP类,int[]是这个类内部声明的变量,另外有个avg方法可以求arr指定为i长度的平均值?事实是可行的
      

  6.   

    float aver(float *a, int n)
    {
    if(n == 1)
    return a[0];
    else 
    return (aver(a,n-1)*(n-1)+a[n-1])/n;
    }