asm, c, c++ are my all
-- Core In Computer
posts - 139,  comments - 123,  trackbacks - 0

/********************************************\
|    欢迎转载, 但请保留作者姓名和原文链接, 祝您进步并共勉!     |
\********************************************/


用最简洁的代码写出一个整数的阶乘

作者: Jerry Cat
时间: 2006/07/21
链接:
http://www.cppblog.com/jerysun0818/archive/2006/07/21/10283.html


int fun(int s)
{
    if (s == 1) return 1;
    return s * fun(s-1);
}

posted on 2006-07-21 02:58 Jerry Cat 阅读(640) 评论(3)  编辑 收藏 引用

FeedBack:
# re: 用最简洁的代码写出一个整数的阶乘
2006-07-21 08:55 | 小明
int fun(int s)
{
if (s == 1) return 1;
return s * fun(s-1);
}

如果传入一个-1会怎么样?
返回值为int,范围太小了一点  回复  更多评论
  
# re: 用最简洁的代码写出一个整数的阶乘
2006-07-21 09:48 | volant
int fun(int s)//返回0失败,非0成功
{
if (s < 1) return (!s);
return s * fun(s-1);
}  回复  更多评论
  
# re: 用最简洁的代码写出一个整数的阶乘
2006-07-21 11:26 | chenjm
s值太大时会有栈溢出吧?也许这样会比较好:

_int64 func(int s)
{
_int64 result = s--;
while(s > 1) result *= (--s);
return result;
}  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理



<2006年7月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

常用链接

留言簿(7)

随笔档案

最新随笔

搜索

  •  

最新评论

阅读排行榜

评论排行榜