AIで楽して稼げたらいいのに

独学でプログラミングを学んでいる大学生です。忘れないために備忘録としてここに残すことにします

【C言語入門】XのY乗をpow()関数またはfor文で計算する方法を図を用いて解説します!

XのY乗をプログラミング上で計算するにはどうすればいいと思いますか?

今回は2つの方法を紹介したいと思います。


pow()関数を使って計算。


1つはpow()というライブラリ関数を使って計算する方法があります。


計算の仕方は簡単ですが、math.hというヘッダーファイルを取り込む必要があります。


#include <stdio.h>
#include <math.h>

int main(void){
    printf("%lf", pow(2, 3)); //8.00000と出力される
}

f:id:gorilland_k:20200208104643p:plain
pow()関数のイメージ
pow()関数を使うことで、たった1行でXのY乗を計算することができました。


今回は2の3乗を計算しています。
出力を気がついた方もいるかもしれませんが、pow()関数は出力8.0000となっていることから、double型になっていることがわかります。

forループを使って計算する方法


ヘッダーファイルを取り込まないで計算する方法もあります。


forループを上手く使って累乗計算をしていきましょう。


今回は使いやすいように自作関数として累乗の関数をつくります。


自作関数がわからない方は過去記事をみてください。

gorilland-k.hatenablog.com

double exp(double x, double y){
  int i;
  double m=1;
  for (i=0; i<y; i++){
    m = m * x;
  }
  return m;
}

これで累乗計算が可能となりました。

解説

xのy乗は、「xをy回掛ける」と言い換えることができます。

f:id:gorilland_k:20200209003237p:plain


「y回掛ける」をプログラムに表そうとした時にうまく動作しそうなのはfor文となります。(while文でも可能ですが、for文の方が最適と言えます。)


よってi=0からi<yのステップが+1でy回掛ける事が再現できました。


以上から標準ライブラリのみで、xのy乗をすることができました。


まとめ

今回はpow()関数、またはfor文を用いたときの累乗計算を紹介しました。

ヘッダーファイルを読み込んでpow()関数を使って累乗計算した方が圧倒的に楽ですが、自分で正しい計算になるようにプログラム完成させていくことも学習していく上で大切なことだと思います。
なので用意されている関数を安易に使うのではなく、時間がある時に自分で考えてみるのもいいのではないでしょうか。