突然C言語の話題です。
再帰関数(処理中に自分自身を呼び出す関数)を使って、累乗の計算をさせてみました。
unsigned long power(int x, int n)
{
return n==0 ? 1
: x * power(x, n-1);
}
見にくくてすみません(・_・;)
xのn乗を計算できます。
…が!
10の10乗を計算すると失敗します。
な、なんでだお(・ω・;)(;・ω・)
といろいろ考えていると、
10^10 > 2^32 == unsigned long
って桁溢れしてたんですね笑
基本を大切にってコトらしい(・ω・;)(;・ω・)
ゆう