曾 紅
四川省自貢市第一人民醫院計算機中心,四川自貢 643000
通常我們的計算機在計算一個數的n次方時,當數值稍大一點,就會用科學計數法輸出結果,引起數值不精確,比如:123140=3.86114×10292,如果結果再大些還會顯示溢出,1234150。本文通過數組,采用累加的算法實現了一個數的n次方的精確計算。
累加的實際n次方的原理:
1232=123×123=123個123相加;
1233=123×123×123=(123個123相加)×123。
為了實現精確計算,我們把輸入數的每一位數字分別存放到組數中,如:輸入數123,則s(3)=1, s(2)=2, s(1)=3


采用數組分散存放計算中間值和結果,實現了每一位的精確運算,也不會產生數值溢出的錯誤。
以下是本算法運行的結果:
運行結果:
請輸入一個整數:123
請輸入次方:300
共有位數:627

[1]章立民.FoxPro命令與函數實用詳解.學苑出版社,1994.
[2]嚴蔚敏,吳偉民.數據結構(C語言版)[M].清華大學出版社,1997,4:1S.