如何通过使用 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

猜你喜欢