6 10 階乘計算公升級版 20分

2021-10-04 03:01:22 字數 1092 閱讀 8161

基礎程式設計題目集 6-10 階乘計算公升級版 (20分)

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

函式介面定義:

void print_factorial (

const

int n )

;

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

裁判測試程式樣例:

#include

void print_factorial (

const

int n )

;int

main()

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

輸入樣例:

15
輸出樣例:

1307674368000
演算法:

這道題是很久以前c語言老師提過思路的題,今天才實現【參考了好幾位博主的】

1000!有2568位,long型別只能夠在25階乘範圍內給出精確的答案

定義乙個陣列,陣列每乙個元素儲存一位,也就是a[0]儲存個位,a[1]儲存十位…

**如下:

void print_factorial (

const

int n )

; ans[0]

=1;int t=

0,tmp=

0,carry=0;

//t:資料的位數 ,carry:進製的數,比如5*6=30,3就是要往上進的數carry

int i,j;

for(i=

1;i<=n;i++

)while

(carry)

}for

(i=t;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分

void print factorial int n if n 0 以上是兩個例外情況 int r 3000 用於存放結果 r 0 1 for int i 1 i 3000 i 將陣列初始化為 1,方便判斷邊界 int t 1,i t代表結果的位數,一開始是1 for int j n j 1 j i...