4 10 階乘計算公升級版

2021-08-11 09:39:21 字數 845 閱讀 3622

本題要求實現乙個列印非負整數階乘的函式。

void print_factorial ( const int n );
其中n是使用者傳入的引數,其值不超過1000。如果n是非負整數,則該函式必須在一行中列印出n!的值,否則列印「invalid input」。

#include void print_factorial ( const int n );

int main()

/* 你的**將被嵌在這裡 */

15
1307674368000

解題注意的地方及思路:

剛開始思考這個題目的時候,忽視了輸入的整數<1000這個重要的條件,所以直接用unsigned long long int來求,但交上去之後,部分正確(很傷心)。1000的階乘,這個數非常大,

已經超過了unsigned long long型別表示的範圍,所以只能用陣列來做。1000的階乘位數大約在2700左右,所以直接把陣列開的稍微大了點(3000)。

**展示:

void print_factorial ( const int n )

;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...