高精度計算【算法練習題】

高精度計算

【上機練習】
1、 求N!的值(ni)
【問題描述】 用高精度方法,求N!的精確值(N以一般整數輸入)。
【輸入樣例】
10
【輸出樣例】
3628800

2、 求A/B高精度值(ab)
【問題描述】
計算A/B的精確值,設A,B是以一般整數輸入,計算結果精確到小數後20位(若不足20位,末尾不用補0)。
【輸入樣例1】
4 3
【輸出樣例1】
4/3=1.33333333333333333333
【輸入樣例2】
6 5
【輸出樣例2】
6/5=1.2

3、 求n累加和(ja)
【問題描述】
用高精度方法,求s=1+2+3+……+n的精確值(n以一般整數輸入)。
【輸入樣例】
10
【輸出樣例】
55

4、 階乘和(sum)
【問題描述】
已知正整數 N(N<=100),設 S=1!+2!+3!+…N!。其中"!"表示階乘,即 N!=123*……(N-1)N,如:3!=123=6。請編程實現:輸入正整數N,輸出計算結果S的值。
【輸入樣例】
4
【輸出樣例】
33

5、 高精度求積(multiply)
【問題描述】
輸入兩個高精度正整數M和N(M和N均小於100位)。
【問題求解】
求這兩個高精度數的積。
【輸入樣例】
36
3
【輸出樣例】
108

6、 天使的起誓(yubikili)
【問題描述】
TENSHI非常幸運地被選爲掌管智慧之匙的天使。在正式任職之前,她必須和其他新當選的天使一樣,要宣誓。宣誓儀式是每位天使各自表述自己的使命,她們的發言稿被放在n個呈圓形排列的寶盒中。這些寶盒按順時針方向被編上號碼 1、2、3……、n-1、n。一開始天使們站在編號爲 N 的寶盒旁。她們各自手上都有一個數字,代表她們自己的發言稿所在的盒子是從1號盒子開始按順時針方向的第幾個。例如:有7個盒子,那麼如果TENSHI手上的數字爲9,那麼她的發言稿所在盒子就是第2個。現在天使們開始按照自己手上的數字來找發言稿,先找到的就可以先發言。TENSHI一下子就找到了,於是她最先上臺宣誓:“我將帶領大家開啓NOI之門……”TENSHI宣誓結束以後,陸續有天使上臺宣誓。可是有一位天使找了好久都找不到她的發言稿,原來她手上的數字M非常大,她轉了好久都找不到她想找的寶盒。
【問題求解】
請幫助這位天使找到她想找的寶盒的編號。
【輸入格式】
從文件yubikili.in的第一、二行分別讀入正整數n和m,其中n、m滿足
2 ≤ n≤ 108,2 ≤ m≤ 101000
【輸出格式】
把所求寶盒的編號輸出到文件yubikili.out,文件只有一行(包括換行符)。
【樣例一】
yubikili.in yubikili.out
7
9 2
【樣例二】
yubikili.in yubikili.out
11
108 9

7、Hanoi雙塔問題(Noip2007)
【問題描述】
給定A、B、C三根足夠長的細柱,在A柱上放有2n箇中間有孔的圓盤,共有n個不同的尺寸,每個尺寸都有兩個相同的圓盤,注意這兩個圓盤是不加區分的(下圖爲n=3的情形)。現要將這些圓盤移到C柱上,在移動過程中可放在B柱上暫存。要求:
(1)每次只能移動一個圓盤;
(2)A、B、C三根細柱上的圓盤都要保持上小下大的順序;
任務:設An爲2n個圓盤完成上述任務所需的最少移動次數,對於輸入的n,輸出An。

【輸入格式】
輸入文件hanoi.in爲一個正整數n,表示在A柱上放有2n個圓盤。
【輸出格式】
輸出文件hanoi.out僅一行,包含一個正整數, 爲完成上述任務所需的最少移動次數An。
【輸入輸出樣例1】
hanoi.in hanoi.out
1 2
【輸入輸出樣例2】
hanoi.in hanoi.out
2 6
【限制】
對於50%的數據,1<=n<=25 對於100%的數據,1<=n<=200
【提示】設法建立An與An-1的遞推關係式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章