アプリ版:「スタンプのみでお礼する」機能のリリースについて

public class Power {
static long pow(int a, int b){
if (b<=0)
return 1;
else
return a*pow(a,b-1);
}
public static void main(String args[]){
System.out.println(pow(1,3));
}
}

run:
1
BUILD SUCCESSFUL (total time: 0 seconds)

簡単な問題ですが。。。
僕の予想では答えは2でした

1 * (1, 2)
1 * 1 * 2
じゃないんですか?

A 回答 (2件)

いえ、



pow(1,3)
= 1 * pow(1,2)
= 1 * 1 * pow(1,1)
= 1 * 1 * 1 * pow(1,0)
= 1 * 1 * 1 * 1 = 1です。

#ちなみに…例えば
pow(3,2)
= 3 * pow(3,1)
= 3 * 3 * pow(3,0)
= 3 * 3 * 1
= 9
となります(上記が1の4乗として計算されているんじゃなくて(1の3乗) * 1だという印象をつけたかったので例を出した)
    • good
    • 0
この回答へのお礼

再帰みたいですね

お礼日時:2010/10/13 19:38

1 * pow(1,2)


1 * (1 * pow(1, 1))
1 * (1 * (1 * pow(1, 0)))
1 * (1 * (1 * 1))

であろう?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!