Computer >> Máy Tính >  >> Lập trình >> C#

Ba cách khác nhau để tính giai thừa trong C #


Để tính giai thừa trong C #, bạn có thể sử dụng bất kỳ cách nào trong ba cách sau -

Tính giai thừa với vòng lặp for

Ví dụ

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace factorial {
   class Test {
      static void Main(string[] args) {
         int i, res;
         int value = 5;
         res = value;
         for (i = value - 1; i >= 1; i--) {
            res = res * i;
         }
         Console.WriteLine("\nFactorial of "+value+" = "+res);
         Console.ReadLine();
      }
   }
}

Đầu ra

Factorial of 5 = 120

Tính giai thừa với vòng lặp while

Ví dụ

using System;
namespace MyApplication {
   class Factorial {
      public int display(int n) {
         int res = 1;
         while (n != 1) {
            res = res * n;
            n = n - 1;
         }
         return res;
      }
      static void Main(string[] args) {
         int value = 5;
         int ret;
         Factorial fact = new Factorial();
         ret = fact.display(value);
         Console.WriteLine("Value is : {0}", ret );
         Console.ReadLine();
      }
   }
}

Đầu ra

Value is : 120

Tính giai thừa bằng đệ quy

Ví dụ

using System;
namespace MyApplication {
   class Factorial {
      public int display(int n) {
         if (n == 1)
            return 1;
         else
            return n * display(n - 1);
      }
      static void Main(string[] args) {
         int value = 5;
         int ret;
         Factorial fact = new Factorial();
         ret = fact.display(value);
         Console.WriteLine("Value is : {0}", ret );
         Console.ReadLine();
      }
   }
}

Đầu ra

Value is : 120