高精度小數(10分)
題目內容:輸入格式:由於計算機內部表達方式的限制,浮點運算都有精度問題,為了得到高精度的計算結果,就需要自己設計實現方法。
(0,1)之間的任何浮點數都可以表達為兩個正整數的商,為了表達這樣兩個數的商,可以將相除的結果以多個整數來表示,每個整數表示結果的一位。即商的第一位用乙個整數來表示,第二位用另乙個整數來表示,以此類推,就可以輸出乙個高精度的除法結果了。
如16/19的結果0.8421052631…就可以依次輸出8、4、2、1、0、5、2、6、3、1…。
當某次餘數為0時,則表明除盡。160/19->8餘8
80/19->4餘4
...
現在,請寫乙個程式,輸入乙個分數,計算出它的小數形式。無論是否可以除盡,輸出最多小數點後200位。
形如 a/b的兩個數,其中10<=a輸出格式:
形如0.*********的小數,小數點後最多200位。輸出結束的時候要帶著回車換行。如果a/b是乙個有限不迴圈小數,則輸出完所有的有效位就可以了,不需要再輸出後面的0來湊滿200位。
#include
int main()
; //儲存結果
int i = 0;
while( rem != 0 && i < 200)
printf("0.");
for(int j = 0; j < i; j++)
printf("\n");
return
0;}
高精度小數C程式
由於計算機內部表達方式的限制,浮點運算都有精度問題,為了得到高精度的計算結果,就需要自己設計實現方法。0,1 之間的任何浮點數都可以表達為兩個正整數的商,為了表達這樣兩個數的商,可以將相除的結果以多個整數來表示,每個整數表示結果的一位。即商的第一位用乙個整數來表示,第二位用另乙個整數來表示,以此類推...
C語言 高精度小數
由於計算機內部表達方式的限制,浮點運算都有精度問題,為了得到高精度的計算結果,就需要自己設計實現方法。0,1 之間的任何浮點數都可以表達為兩個正整數的商,為了表達這樣兩個數的商,可以將相除的結果以多個整數來表示,每個整數表示結果的一位。即商的第一位用乙個整數來表示,第二位用另乙個整數來表示,以此類推...
高精度乘法(大數模擬高精度 小數快速高精度取模)
實現 n個數相乘,求出最後的值。但是太慢了啊!超時。一位一位的乘。但是這個也是一種方法吧,簡單的高精度,等再學學優化一下。include include include include include include include include include include includeus...