ホームページ  >  記事  >  バックエンド開発  >  C++で検出力を求める関数

C++で検出力を求める関数

下次还敢
下次还敢オリジナル
2024-04-28 18:15:26335ブラウズ

C はべき乗を見つけるための複数のメソッドを提供します。底と指数パラメーターを受け入れる pow() 関数または std::pow() 関数を使用します。ループを使用して、正の整数の指数の場合、底と指数倍を掛けます。二分探索アルゴリズムを使用して、分割統治法を通じて検出力をすばやく見つけます。負の整数の指数の場合は、1 / power(base, -exponent) という式を使用して計算します。

C++で検出力を求める関数

#C のパワーを上げる関数

C でパワーを上げる方法はたくさんあります。最も簡単な方法は、base と exponent の 2 つのパラメータを受け入れる

pow() 関数を使用することです。例:

<code class="cpp">#include <cmath>

int main() {
  double base = 2.0;
  int exponent = 3;
  double result = pow(base, exponent); // 结果为 8.0
}</code>
整数指数の場合、

std::pow() 関数を使用できます。この関数は、ベース、整数指数、ターゲット タイプの 3 つのパラメーターを受け入れます。例:

<code class="cpp">#include <cmath>

int main() {
  int base = 2;
  int exponent = 3;
  int result = std::pow(base, exponent, long long); // 结果为 8
}</code>
もう 1 つの方法は、ループを使用することです。たとえば、正の整数の指数の場合:

<code class="cpp">int power(int base, int exponent) {
  int result = 1;
  for (int i = 0; i < exponent; i++) {
    result *= base;
  }
  return result;
}</code>

負の整数の指数の場合、次の式を使用できます:

<code class="cpp">int power(int base, int exponent) {
  if (exponent == 0) {
    return 1;
  } else if (exponent < 0) {
    return 1 / power(base, -exponent);
  } else {
    int result = 1;
    for (int i = 0; i < exponent; i++) {
      result *= base;
    }
    return result;
  }
}</code>

最後に、二分探索アルゴリズムを使用してべき乗をすばやく見つけることもできます。例:

<code class="cpp">int power(int base, int exponent) {
  if (exponent == 0) {
    return 1;
  } else if (exponent < 0) {
    return 1 / power(base, -exponent);
  } else {
    int result = 1;
    while (exponent > 0) {
      if (exponent % 2 == 1) {
        result *= base;
      }
      base *= base;
      exponent /= 2;
    }
    return result;
  }
}</code>

以上がC++で検出力を求める関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。