/********************************************\
|????歡迎轉載, 但請保留作者姓名和原文鏈接, 祝您進步并共勉!???? |
\********************************************/
用最簡潔的代碼寫出一個整數的階乘
作者: Jerry Cat
時間: 2006/07/21
鏈接:
http://www.shnenglu.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 閱讀(669)
評論(3) 編輯 收藏 引用
FeedBack:
2006-07-21 08:55 |
int fun(int s)
{
if (s == 1) return 1;
return s * fun(s-1);
}
如果傳入一個-1會怎么樣?
返回值為int,范圍太小了一點
回復 更多評論
2006-07-21 09:48 |
int fun(int s)//返回0失敗,非0成功
{
if (s < 1) return (!s);
return s * fun(s-1);
}
回復 更多評論
2006-07-21 11:26 |
s值太大時會有棧溢出吧?也許這樣會比較好:
_int64 func(int s)
{
_int64 result = s--;
while(s > 1) result *= (--s);
return result;
}
回復 更多評論