C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#を使用してバックトラックすることにより、任意の数の累乗を見つける方法は?


数xとnをとる力を見つける関数を作成します。ここで、xは2で、nは何回か、力を実行する必要があります。数値が偶数の場合はx*xを実行する必要があり、数値が奇数の場合は結果にx*xを掛けます。 nが0になるまで再帰呼び出しを続けます。

数値が2と8の場合、2 * 2 * 2 * 2 * 2 * 2 * 2 * 2=256と仮定します。

using System;
namespace ConsoleApplication{
   public class BackTracking{
      public int FindPower(int x, int n){
         int result;
         if (n == 0){
            return 1;
         }
         result = FindPower(x, n / 2);
         if (n % 2 == 0){
            return result * result;
         }
         else{
            return x * result * result;
         }
      }
   }
   class Program{
      static void Main(string[] args){
         BackTracking b = new BackTracking();
         int res = b.FindPower(2, 8);
         Console.WriteLine(res);
      }
   }
}

出力

256

  1. Pythonで数の累乗を見つける方法は?

    数値の累乗は2つの方法で計算できます。 math.pow()関数の使用 >>> math.pow(10,2) 100.0 べき乗演算子の使用 >>> 10**2 100

  2. Pythonを使用して数値の階乗を見つける方法は?

    数値の階乗は、1とそれ自体の間のすべての整数の積です。与えられた数の階乗を見つけるために、1からそれ自体までの範囲でforループを形成しましょう。 range()関数は停止値を除外することに注意してください。したがって、停止値は入力数より1大きい値にする必要があります。 範囲内の各数値は、1に初期化される変数fで累積的に乗算されます 例 num=int(input('enter a number')) f=1 for i in range(1,num+1):   f=f*i print ('factorial of', num, '='