![C言語でべき乗演算を実装する](https://img.php.cn/upload/article/000/000/164/170873946963606.jpg)
C 言語でのべき乗演算のコード実装
C 言語では、べき乗演算 (つまり、数値のべき乗を求める) を実装することは難しくありません。通常、べき乗演算を実装するには、ループ計算と再帰計算という 2 つの方法があります。これら 2 つのメソッドのコード実装を以下に紹介します。
方法 1: ループ計算
べき乗のループ計算は、基数を繰り返し乗算することで実現できます。
- まず、基数と指数をそれぞれ表す 2 つのパラメータ x と n を受け取る関数を定義し、この関数は数値結果を返します。関数のプロトタイプは次のとおりです。
1 | double power(double x, int n);
|
ログイン後にコピー
ログイン後にコピー
- 関数本体内に変数 result を作成し、べき乗の結果を格納します。数値の 0 乗は 1 なので、結果を 1 に初期化します。
- インデックス n の値を判定します。n が 0 より大きい場合はループ計算段階に入り、n が 0 未満の場合は基数 x の逆数をとり、インデックス n の絶対値を計算します。 、ループ計算段階に入ります。n が 0 に等しい場合、結果 1 が直接返されます。
- ループでは、各反復で結果に基数 x が乗算され、反復数はインデックス n の絶対値になります。反復が完了すると、result が結果として返されます。
以下は、べき乗を計算するためのループのコード例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | # include <stdio.h>
double power(double x, int n)
{
double result = 1.0;
if (n > 0)
{
for (int i = 0; i < n; i++)
{
result *= x;
}
}
else if (n < 0)
{
for (int i = 0; i < -n; i++)
{
result *= 1 / x;
}
}
return result;
}
int main()
{
double x = 2.0;
int n = 3;
double result = power(x, n);
printf("%.2f的%d次幂为%.2f
", x, n, result);
return 0;
}
|
ログイン後にコピー
上記のコードでは、べき乗を計算するためのべき乗関数を定義し、そのべき乗関数をmain 関数はテストを実行します。実行結果は、2.00 の 3 乗を 8.00 として出力します。
方法 2: 再帰的計算
累乗を再帰的に計算するという考え方は、指数 n を何度も減らし、累乗関数を再帰的に呼び出すことです。具体的な手順は次のとおりです。
- 基数と指数をそれぞれ表す 2 つのパラメータ x と n を受け取る再帰関数を定義します。この関数は数値結果を返します。関数プロトタイプは次のとおりです:
1 | double power(double x, int n);
|
ログイン後にコピー
ログイン後にコピー
- 関数内の指数 n の値を決定します。n が 0 より大きい場合、底 x に再帰呼び出しのべき乗関数 power( x, n-1) の結果が戻り値として使用されます。n が 0 未満の場合は、基数の逆数をとり、結果 1 を返します。
以下は、べき乗を再帰的に計算するコード例です:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | # include <stdio.h>
double power(double x, int n)
{
if (n > 0)
{
return x * power(x, n-1);
}
else if (n < 0)
{
return 1 / (x * power(x, -n-1));
}
else
{
return 1;
}
}
int main()
{
double x = 2.0;
int n = 3;
double result = power(x, n);
printf("%.2f的%d次幂为%.2f
", x, n, result);
return 0;
}
|
ログイン後にコピー
また、上記のコードでは、べき乗を計算するためのべき関数を定義し、main 関数で power を呼び出します。テストする関数。実行結果は、2.00 の 3 乗を 8.00 として出力します。
まとめると、ループ計算と再帰計算の 2 つの方法により、C 言語のべき乗演算を実装できます。どの方法を使用するかは、実際のニーズと個人の好みによって異なります。
以上がC言語でべき乗演算を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。