国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

高精度除法

2019-11-14 09:33:48
字體:
來源:轉載
供稿:網友

下面給出高精度除法的源代碼,可以實現任意除法計算至循環。

#include<iostream>#include<Windows.h>using namespace std;bool CheckIfLoop(int *remainarr, int length, int remain,int loop);int main(){ int dividend, divisor, remain=0,k=0;//dividend為被除數,divisor為除數,remain為余數,k為當前余數列表 cout << "請輸入被除數與除數:"; cin >> dividend >> divisor; int *remainarr = new int[512]; cout << "結果為:"; cout << dividend / divisor; if (remain != 0 || dividend%divisor!=0)//余數為0,除盡,結束循環 { cout << ".";//輸出小數點 } remain = dividend%divisor; while (CheckIfLoop(remainarr, 512, remain,k) && remain!=0) { remainarr[k] = remain; remain *= 10; cout << remain / divisor; remain %= divisor; if (k < 512) { k++; } } system("pause"); return 0;}bool CheckIfLoop(int *remainarr, int length, int remain, int loop){ static int looptime = 0; for (int i = 0; i < length; i++) { if (remainarr[i] == remain) { cout << "(無限循環開始,周期:" << looptime << ")"<<endl; remainarr[loop] = remain; return 0; } } looptime++; return 1;}

說明,余數列表設為512位是根據相關定理,所有分數都是有理數,并且是循環小數,開始我把余數列表的長度定位除數的大小,但是后來發現這樣在余數很大的情況下十分占用內存,所以設定為了512,在一定范圍內有效。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 建始县| 双江| 正蓝旗| 江陵县| 上高县| 扎囊县| 涞水县| 闻喜县| 莲花县| 达州市| 成安县| 同仁县| 如皋市| 北宁市| 登封市| 开封市| 平泉县| 中西区| 南和县| 沙洋县| 合川市| 盘山县| 舞钢市| 四平市| 平乐县| 阿拉尔市| 平顶山市| 寻甸| 白城市| 铁岭县| 涞源县| 特克斯县| 双鸭山市| 出国| 沅陵县| 防城港市| 兴国县| 延川县| 江山市| 宁晋县| 呼图壁县|