C#
 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

  1. Cアレイが回文であるか、再帰を使用していないかを確認するプログラム

    配列arr[n]が与えられ、nは配列のあるサイズである場合、タスクは、配列が回文であるか、再帰を使用していないことを確認することです。回文は、MADAM、NAMANなどのように、同じように前後に読み取ることができるシーケンスです。 したがって、配列が回文であるかどうかを確認するために、-のように配列を前後にトラバースできます。 再帰では、開始値と終了値を等しくなるまで変更する必要があります。または、開始値と終了値が等しくない場合は、終了して、指定された配列が回文ではないことをfalseに返します。 例 Input: arr[] = { 2, 3, 4, 3, 2} Output: Y

  2. ツリーのサイズを計算するプログラムを作成する-C++での再帰

    この問題では、ツリーが与えられ、再帰を使用してツリーのサイズを計算するプログラムを作成することがタスクです。 ツリーのサイズは、ツリーに存在するノードの総数です。 問題を理解するために例を見てみましょう 上記の木のサイズは5です。 ツリーのサイズを見つけるには、左のサブツリーと右のサブツリーのサイズを追加してから、1ずつインクリメントする必要があります。再帰関数は、ツリーの左と右の両方のサブツリーに対して呼び出されます。また、サブツリーが見つからない場合は0を返します。 この方法を使用して解決された上記の例 木のサイズを見つけるには、 size(3)=size(5)+