Input a number输入一个数字
Using the recursion使用递归
Print factorial value of the number打印值的数字
#include <stdio.h>
long long foo(long long n)
{
if (n == 2) return 2;
return n * foo(n - 1);
}
int main()
{
long long n = 0;
printf("input the number : ");
scanf("%lld", &n);
long long r = foo(n);
printf("%lld! : %lld\n", n, r);
}
你的答案不对,15阶乘是1307674368000
#include <stdio.h>
int foo(long n)
{
if (n == 2) return 2;
return n * foo(n - 1);
}
int main()
{
long n = 0;
printf("input the number : ");
scanf("%d", n);
int r = foo(n);
printf("%d! : %d\n", n, r);
}
http://blog.chinaunix.net/uid-20371452-id-1697170.html
如果是学生,推荐你看剑指offer这本书,你问得问题里边有,里边总结了好多经典的题目,都有最优解,值得慢慢研究,毕业找工作帮助很大,很多面试时都会问到,注意不是打广告,前段时间找工作这本书帮了大忙,所以吐血推荐