C語言訓練 計算1977!

2021-08-15 12:50:13 字數 1023 閱讀 4585

題目描述

編寫乙個程式,計算1977!的值,

輸入

輸出

提示

1977!的值超過計算機所能表示的整數範圍,請考慮其他技巧,假設 1977!之值不超過10000位用乙個含有10000個元素的整型陣列num表示其結果,每個元素存放一位,num[0]存入個位數,num存入十 位數,依次類推……8!=40320,當前最高位len=4,求9!與各位依次相乘rum儲存當前的進製數字。(0<=rem<9).

1)rem置初始值0.

2)i=0:rem=rem+num[0]*9=0+0=0。num[0]=rem%10=0,rem=rem/10=0。

3)i=1:rem=rem+num[1]*9=0+18=18。num[1]=rem%10=8,rem=rem/10=1。

4)i=2:rem=rem+num[2]*9=1+27=28。num[2]=rem%10=8,rem=rem/10=2。

5)i=3:rem=rem+num[3]*9=2+0=2。num[3]=rem%10=2,rem=rem/10=0。

6)i=4:rem=rem+num[4]*9=0+36=36。num[4]=rem%10=6,rem=rem/10=3。

7)rem=3,說明有進製,陣列最高位增加1,len=len+1=5,num[5]=rem%10=3,rem=rem/10=0,結束。

num各位結果為:3、6、2、8、8、0。即9!=362880

**

1 #include 2

using

namespace

std;

3int mult(int num, int len, intn)4

12if (rem > 0)13

19}20return

len;21}

22int

main()

23

C語言訓練 1149 計算題

problem description 乙個簡單的計算,你需要計算f m,n 其定義如下 當m 1時,f m,n n 當n 1時,f m,n m 當m 1,n 1時,f m,n f m 1,n f m,n 1 input 第一行包含乙個整數t 1 t 100 表示下面的資料組數。以下t行,其中每組資...

dp訓練 P1977 計程車拼車

話說小 x 有一次去參加比賽,雖然學校離比賽地點不太遠,但小 x 還是想坐 計程車去。大學城的計程車總是比較另類,有 拼車 一說,也就是說,你乙個人 坐車去,還是一堆人一起,總共需要支付的錢是一樣的 每輛出租上除司機外最 多坐下 4 個人 剛好那天同校的一群 oier 在校門口扎堆了,大家果斷決定拼...

C語言訓練 2761 編碼

problem description 給你乙個由大寫字母組成的組成的字串,你可以用如下規則對其進行編碼 1 包含k個相同字母的連續字串可以用kx表示,其中x是相同的字母。2 如果k為1,不輸出k input 輸入有多組,直到檔案結束。每組乙個字串,長度為10000以內 output 輸出編碼後的字...