javaを学び始めたばかりの初心者です。
ある書籍で下記のプログラムコードを見ました。階乗の基本的なコードだと思いますが、
どうしてこのような答えになるのかわかりません。教えていただきたくお願いいたします。
下記の答えは120になりますが、54321=120の計算の結果だと思います。
普通に考えるとn * kaijo(n-1)は 5*(5-1)=20に思ってしまいますが、
ループにもなっていないのに5kaijo(n-1)は
プログラムでは5432*1と計算するという約束事になるのでしょうか?
数学の基本が解ってないのかもしれません。よろしくお願いします。
java
1public class Reidai1301{ 2 public static void main(String[]args){ 3 int n,x; 4 n=5; 5 x = kaijo(n); 6 System.out.println(n + "!は" + x + "です"); 7 } 8 9 public static int kaijo(int n){ 10 if (n==0){ 11 return 1; 12 } 13 else { 14 return n * kaijo(n-1); 15 } 16 } 17}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/05 08:37
2020/04/05 08:38
2020/04/05 08:44