本題要求實現乙個列印非負整數階乘的函式。
void print_factorial ( const int n );
其中n
是使用者傳入的引數,其值不超過1000。如果n
是非負整數,則該函式必須在一行中列印出n
!的值,否則列印「invalid input」。
#include void print_factorial ( const int n );
int main()
/* 你的**將被嵌在這裡 */
15
void print_factorial ( const int n )1307674368000
解題注意的地方及思路:剛開始思考這個題目的時候,忽視了輸入的整數<1000這個重要的條件,所以直接用unsigned long long int來求,但交上去之後,部分正確(很傷心)。1000的階乘,這個數非常大,
已經超過了unsigned long long型別表示的範圍,所以只能用陣列來做。1000的階乘位數大約在2700左右,所以直接把陣列開的稍微大了點(3000)。
**展示:
;sum[0] = 1;
int i,j;
int n = 0,numofwei=1,tmp;
if(n>0)
else if(n==0)
printf("1\n");
else
printf("invalid input\n");
}注意的地方:變數的初始化!!!
4 10 階乘計算公升級版
本題要求實現乙個列印非負整數階乘的函式。函式介面定義 void print factorial const int n 其中n是使用者傳入的引數,其值不超過1000。如果n是非負整數,則該函式必須在一行中列印出n 的值,否則列印 invalid input 裁判測試程式樣例 include void...
4 10 階乘計算公升級版 20分
include void print factorial const int n int main 你的 將被嵌在這裡 void print factorial const int n else if n 0 else if n 0 n 10 printf d num else pro 0 1 從1...
4 10 階乘計算公升級版 20分
本題要求實現乙個列印非負整數階乘的函式。void print factorial const int n 其中n是使用者傳入的引數,其值不超過1000。如果n是非負整數,則該函式必須在一行中列印出n 的值,否則列印 invalid input include void print factorial...