本題要求實現乙個列印非負整數階乘的函式。
函式介面定義:
void
print_factorial
(const
int n )
;
其中n是使用者傳入的引數,其值不超過1000。如果n是非負整數,則該函式必須在一行中列印出n!的值,否則列印「invalid input」。
裁判測試程式樣例:
#
include
void
print_factorial
(const
int n )
;int
main()
/* 你的**將被嵌在這裡 */
輸入樣例:
15
輸出樣例:
1307674368000
分析:如果用暴力階乘的方法顯然不能夠完成資料較大時候的階乘。
這裡我採用的是陣列的形式:
0! = 1, a[0]=1;
1! = 1, a[0]=1;
2! = 2, a[0]=a[0]*2;
3! = 6, a[0]=a[0]*3;
4! = 24,a[0]=4, num = 2,a[1]=2;
5! = 120,a[0]=0,num = 12,a[1]=2,num = 1,a[2]=1;
以此類推可以得出以下**:
void
print_factorial
(const
int n )
else
while
(num)
//判斷num的值是否為0
}for
(int i=digit-
1;i>=
0;i--
)//從後往前輸出每一位數
}}
6 10 階乘計算公升級版 20 分
本題要求實現乙個列印非負整數階乘的函式。函式介面定義 void print factorial const int n 其中n是使用者傳入的引數,其值不超過1000。如果n是非負整數,則該函式必須在一行中列印出n 的值,否則列印 invalid input 裁判測試程式樣例 include void...
6 10 階乘計算公升級版 20 分
本題要求實現乙個列印非負整數階乘的函式。函式介面定義 void print factorial const int n 其中n是使用者傳入的引數,其值不超過1000。如果n是非負整數,則該函式必須在一行中列印出n 的值,否則列印 invalid input 裁判測試程式樣例 include void...
6 10 階乘計算公升級版 20分
基礎程式設計題目集 6 10 階乘計算公升級版 20分 本題要求實現乙個列印非負整數階乘的函式。函式介面定義 void print factorial const int n 其中n是使用者傳入的引數,其值不超過1000。如果n是非負整數,則該函式必須在一行中列印出n 的值,否則列印 invalid...