/*
         *                      X(n)=(X(n-l)+X(n-k))%m where l>k>0, and m>0
         *                      where X(0)...X(1) are pre-defined(i.e.They are seed values.)
         *                      
         */题目如上,就是一个变形 斐波拉契数函数 形式,用来产生随机数的。
我的代码如下:     public static int LFGs2(int _theFirstLagNumber, int _theSecondLagNumber, int _theModNumber,int _number,params int[] _theSeed)
//_theFirstLagNumber  是第一个滞后数
//_theSecondLagNumber 是第二个滞后数
//_theModNumber       是模数
//_number             是 我要计算的数
//_theSeed            是种子数
//eg:LFGs2(4, 3, 10, 10, 1, 2, 3, 4);
        {            if (_number < _theSeed.Length)
            {
                return _theSeed[_number];
            }
            else
            {
                
                if (_number < _array.Length&& _array[_number] !=-1)
                {
                    return _array[_number];
                }
                else
                {
                    return (LFGs2(_theFirstLagNumber, _theSecondLagNumber, _theModNumber, _number - _theFirstLagNumber, _array, _theSeed) + LFGs2(_theFirstLagNumber, _theSecondLagNumber, _theModNumber, _number - _theSecondLagNumber, _array, _theSeed)) % _theModNumber;
                }
            }
        }我从X(1)一致算到X(100)的时候,X(100)和更大的数字的时候,需要很长的时间才能计算出结果~~~请哪位朋友可以帮我改进下算法~~~可以让它更快算出来,谢谢~~~