Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

เขียนโปรแกรม C# เพื่อคำนวณแฟคทอเรียลโดยใช้การเรียกซ้ำ


แฟกทอเรียลของตัวเลขคือสิ่งที่เรากำลังค้นหาโดยใช้ฟังก์ชันแบบเรียกซ้ำ checkFact () ในตัวอย่างด้านล่าง -

หากค่าเป็น 1 จะส่งกลับ 1 เนื่องจากแฟคทอเรียลเป็น 1 −

if (n == 1)
return 1;

ถ้าไม่เช่นนั้น ฟังก์ชันแบบเรียกซ้ำจะถูกเรียกสำหรับการวนซ้ำต่อไปนี้ หากคุณต้องการค่า 5!

Interation1:
5 * checkFact (5 - 1);

Interation2:
4 * checkFact (4 - 1);

Interation3:
3 * checkFact (3 - 1);

Interation4:
4 * checkFact (2 - 1);

ในการคำนวณแฟกทอเรียลโดยใช้การเรียกซ้ำ คุณสามารถลองเรียกใช้โค้ดต่อไปนี้ซึ่งแสดงสิ่งที่ทำข้างต้น -

ตัวอย่าง

using System;

namespace Demo {

   class Factorial {

      public int checkFact(int n) {
         if (n == 1)
         return 1;
         else
         return n * checkFact(n - 1);
      }

      static void Main(string[] args) {

         int value = 9;
         int ret;

         Factorial fact = new Factorial();
         ret = fact.checkFact(value);
         Console.WriteLine("Value is : {0}", ret );
         Console.ReadLine();
      }
   }
}

ผลลัพธ์

Value is : 362880