べき乗の計算

[戻る]
累ッコ 2002/11/25(月) 19:56:21
vc++ 初心者

べき乗(xのy乗)をpower(x,y)とします。
xは実数 yは正の整数です。

power(x,y)=power(x*x,y/2)      (yが偶数のとき)
power(x,y)=x*power(x*x,(y-1)/2)  (yが奇数のとき)
power(x,y)=1                   (y=0のとき)

この定義どうりにべき乗を計算するプログラムを再帰関数を
使いかきたいです。どうすればいいのでしょう?

tib 2002/11/25(月) 20:03:21
if文やif〜else文を使って、yについて3通りに分岐させ、それぞれで定数なり関数のリ
ターン値なりを返してやるといいでしょう。

マルチポスト 2002/11/25(月) 20:27:13
http://cgi2.html.ne.jp/~piro/bbs/wforum.cgi?mode=allread&no=1583&page=0

επιστημη 2002/11/29(金) 12:27:08
定義どおりに書けばいいやん。

例: 階乗 int factrial(int n) : 1 x 2 x 3 x ... x n を求める

定義: fact(0) = 1
      fact(n) = n * fact(n-1)

実装:

 int fact(int n) {
   if ( n == 0 ) return 1;
   else          return n * fact(n-1);
 }

定義どおりですやろ? あなたも同じことをなさいませ。

古いスレッドには追加発言できません。