첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

■ 연속 전달형의 꼬리 재귀를 사용해 팩토리얼 구하기

------------------------------------------------------------------------------------------------------------------------

Program.cs

 

 

using System;

 

namespace TestProject

{

    /// <summary>

    /// 프로그램

    /// </summary>

    class Program

    {

        //////////////////////////////////////////////////////////////////////////////////////////////////// Method

        ////////////////////////////////////////////////////////////////////////////////////////// Static

        //////////////////////////////////////////////////////////////////////////////// Private

 

        #region 팩토리얼 구하기 - GetFactorial(number, function)

 

        /// <summary>

        /// 팩토리얼 구하기

        /// </summary>

        /// <param name="number">숫자</param>

        /// <param name="function">함수</param>

        private static int GetFactorial(int number, Func<int, int> function)

        {

            if(number == 0)

            {

                return function(1);

            }

            else

            {

                return GetFactorial(number - 1, x => function(number * x));

            }

        }

 

        #endregion

        #region 프로그램 시작하기 - Main()

 

        /// <summary>

        /// 프로그램 시작하기

        /// </summary>

        private static void Main()

        {

            int result = GetFactorial(5, x => x);

 

            Console.WriteLine(result);

        }

 

        #endregion

    }

}

 

------------------------------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker
TAG

댓글을 달아 주세요