こまけーことはいいんだよ!(例のAA)
と、言われそうだけど

× if(n <= 1) return n;
○ if(n <= 1) return 1;

なぜなら、0! = 1 だから。