class Kaijou {
public static void main
(String[] args
) { for (long i = 0L; i <= 20L; i++) {
System.
out.
println(i
+ "の階乗は" + kaijou
(i
)); }
}
public static long kaijou(long num) {
if (num == 0L) { return 1L; }
if (num >= 1L) {
return ( num * kaijou(num - 1L) );
}
return 0L;
}
}
Y2xhc3MgS2Fpam91IHsKICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICBmb3IgKGxvbmcgaSA9IDBMOyBpIDw9IDIwTDsgaSsrKSB7CiAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihpICsgIuOBrumajuS5l+OBryIgKyBrYWlqb3UoaSkpOwogICAgfQogIH0KICBwdWJsaWMgc3RhdGljIGxvbmcga2Fpam91KGxvbmcgbnVtKSB7CiAgICBpZiAobnVtID09IDBMKSB7IHJldHVybiAxTDsgfQogICAgaWYgKG51bSA+PSAxTCkgewogICAgICByZXR1cm4gKCBudW0gKiBrYWlqb3UobnVtIC0gMUwpICk7CiAgICB9CiAgICByZXR1cm4gMEw7CiAgfQp9