Loading

算法-数列

斐波那契数列使用

 var zero2 = new Febonacci();
 var num = zero2.Shell(10);
 Debug.WriteLine(num);
 zero2.Main(14);
 zero2.Febon(155);

斐波那契数列

    public class Febonacci
    {
        public Febonacci()
        {
            // var num = Shell(9);
            // Debug.WriteLine(num);
        }

        public int Shell(int n)
        {
            if (n==1|| n==2)
            {
                return 1;
            }
            // else{
            //     return Shell(n - 1) + Shell(n - 2);
            // }
            return Shell(n - 1) + Shell(n - 2);
        }

        //返回到 n 的斐波那契数列
        public void Main(int args)
        {
            var lf = 0;
            var rf = 1;
            var result = 0;
            Func<int, int, int> func1 = (_lf, _rf) =>
            {
                rf = _lf + _rf;
                lf = _rf;
                return lf;
            };

            while (lf < args)
            {
                result = func1(lf, rf);
                Debug.Write($"{result} ");
            }
        }

        //定义到 n 的斐波那契数列 
        public void Febon(int args)
        {
            var lf = 0;
            var rf = 1;
            Action<int, int> func1 = (_lf, _rf) =>
            {
                Debug.Write($"{rf} ");
                rf = _lf + _rf;
                lf = _rf;
            };

            while (rf < args)
            {
                func1(lf, rf);
            }
        }
    }
    //素数,又称质数,即整数在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。
    public class PrimeNumber
    {
        public PrimeNumber()
        {
            int i ,j=0;
            for (j = 3; j <= 1000; j += 2) //不遍历偶数,除了2偶数都不是质数
            {
                for (i = 2; i <= Math.Sqrt(j); i++) //实际遍历到此数的平方根就够了
                {
                    if (j % i == 0)
                    {
                        break;
                    }
                }
                if (i > Math.Sqrt(j))
                {
                    Debug.Write($"{j} ");
                }
            }
        }
    }
   //九九乘法
   public class Nine
   {
       public Nine()
       {
           for (int x = 1; x <= 9; x++)
           {
               for (int y = 1; y <= x; y++)
               {
                   var result = (x * y).ToString().PadLeft(2, ' ');
                   Console.Write($"{x}*{y}={result} ");
               }
               Console.Write("\n");
           }            
       }
   }
posted @ 2025-03-02 21:29  androllen  阅读(6)  评论(0)    收藏  举报