寫出n!的算法算法
C# ide
遞歸方式:spa
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 Console.WriteLine("請輸入一個數!"); 6 int input =Convert.ToInt32(Console.ReadLine()); 7 int result= GetFactorialValue(input); 8 Console.WriteLine("{0}的階乘的值是:{1}", input, result); 9 Console.ReadKey(); 10 } 11 /// <summary> 12 /// 得到階乘的值 13 /// </summary> 14 /// <param name="input"></param> 15 /// <returns></returns> 16 private static int GetFactorialValue(int input) 17 { 18 if (input == 0 || input == 1) 19 { 20 return 1; 21 } 22 return input*GetFactorialValue(input - 1); 23 } 24 }
for循環方式:code
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 Console.WriteLine("請輸入一個數!"); 6 int input =Convert.ToInt32(Console.ReadLine()); 7 //int result= GetFactorialValue(input); 8 int result = GetFact(input); 9 Console.WriteLine("{0}的階乘的值是:{1}", input, result); 10 Console.ReadKey(); 11 } 12 private static int GetFact(int n) 13 { 14 int result = 1; 15 if (n <= 0) 16 { 17 result = 0; 18 19 } 20 for (int i = n; i > 0; i--) 21 { 22 result = result * i; 23 } 24 return result; 25 } 26 }
研究中.....blog
會的就在評論吧,歡迎大家的參與,謝謝!遞歸