質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

再帰

情報工学における再帰とは、プログラムのあるメソッドの処理上で自身のメソッドが再び呼び出されている処理の事をいいます。

Q&A

解決済

5回答

6826閲覧

Rubyでnのm乗を書くためには

sabadesu

総合スコア7

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

再帰

情報工学における再帰とは、プログラムのあるメソッドの処理上で自身のメソッドが再び呼び出されている処理の事をいいます。

1グッド

1クリップ

投稿2018/04/25 00:03

前提・実現したいこと

rubyで、nのm乗を再帰プログラムを書こうとしています。

繰り返しでも書けるようですが

どのように考えて書いたらいいかわかりません

素人質問で恐縮です。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

Ruby

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。s

DrqYuto👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2018/04/25 00:10

Ruby組み込み機能にすらあるぐらいなのに、わざわざ「再帰で書く」必要性はどのあたりにありますでしょうか。
yoorwm

2018/04/25 02:01

https://atarimae.biz/archives/20521 まずは、ここらへんを読んでみてください。それで求めるものが再帰なのか、べき乗演算を目的としているのかはっきりとさせてみてください。
Zuishin

2018/04/25 06:52

恐縮しててこれならリラックスしてるときはどんな感じなんでしょう。
guest

回答5

0

投稿2018/04/25 00:07

y_waiwai

総合スコア87749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

pythonで書くとこんな感じです。

python

1def pow_rec(n, m): 2 if m == 0: 3 return 1 4 else: 5 return n * pow_rec(n, m-1)

投稿2018/04/25 03:19

hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

参考情報

  • Ruby 累乗するには

https://teratail.com/questions/1826

自分でループさせる方法もあります。
単純に繰り返し掛け算をするよりも少ない回数の掛け算で済ませる方法もあります。

  • 冪乗計算を高速に行うには?

https://ja.stackoverflow.com/questions/10006

投稿2018/04/25 01:26

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

n を m 回乗算したら答えが出ます。
2 の 3 乗(Ruby だと 2 ** 3 と表す)は 2 * 2 * 2 です。

投稿2018/04/25 00:18

Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

javascriptだとこんな感じ。

var power = function(n, m){ return (m == 0)?1:(n * power(n, m-1));} power(2, 5); // 32

投稿2018/04/25 00:13

tkturbo

総合スコア5572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sabadesu

2018/04/25 00:43

ありがとうございます。 rubyだとどうなるんでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問