高精度之高精度除法(高精除以低精)
来源:互联网 发布:父母职业怎么填写 知乎 编辑:程序博客网 时间:2024/06/06 07:25
一.整除版高精度除法:
思路,手动模拟除法过程,包括余数用X记录,每次读到新位计算出被除数,然后计算。
//高精度除法 整除版 #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<functional>#include<vector>#include<iterator>using namespace std;string a;int b,x=0;vector<int>p;int main(){ cin>>a>>b; cout<<"b:"<<b<<endl; int len=a.size();// cout<<"len:"<<len<<endl; for(int i=0;i<len;i++) { int aim=a[i]-'0'; p.push_back((aim+x*10)/b);// cout<<* (p.end()-1)<<endl; x=((aim+x*10)%b); cout<<"x:"<<x<<endl; } vector<int>::iterator iter=p.begin(); while( *iter==0 )++iter; copy(iter,p.end(),ostream_iterator<int>(cout)); return 0;}
二.小数版高精度除以低精度
//高精度除法 浮点数版 #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<functional>#include<vector>#include<iterator>#define MAXN 1000//MAXN是计算出的总位数 using namespace std;string a;int b,x=0;vector<int>p(1);int main(){ cin>>a>>b;// cout<<"a:"<<a<<endl; p.reserve(1001); int len=a.size(); cout<<"len:"<<len<<endl; for(int i=0;i<=MAXN;i++) { if(i==len+1) p[0]=i;//小数点位置,应该先输出小数 int aim=(i<len)?(a[i]-'0'):0; cout<<"aim:"<<aim<<endl; p.push_back((aim+x*10)/b); x=((aim+x*10)%b); cout<<"x:"<<x<<endl; if(x==0)break; //如果除尽了就跳出 } int i=1,end=p.size()-1; cout<<"end:"<<end<<endl; while(!p[end]) end--;//消去末尾无效元素 if(end<p[0]) end=p[0]-1;//防止出现X00000将末尾的0消去了 while(!p[i]) i++;//消去开始无效元素 if(i>=p[0]) cout<<'0',i=p[0];//防止出现0.00000000000X将前的0消去 for(;i<=end;i++) { if(i==p[0]) { cout<<'.'<<p[i]; continue; } cout<<p[i]; } return 0;}
阅读全文
1 0
- 高精度之高精度除法(高精除以低精)
- 高精度之高精度除法(高精除以高精)
- 高精度除法(高精除以低精)——一步一步算法篇
- 高精度之高精除以高精
- 高精度除法(高精度除以高精度)
- 高精度之高精除以低精取余(天使的起誓)
- 高精度除以低精精度数
- 高精度之高精除低精
- 高精度除法(高精除高精)
- CODE【VS】3118 高精度练习之除法(大数除以大数模板)
- 高精度除法(高除高)
- 【高精度算法】A/B 高精度除以低精度 保留小数
- 高精度之大数除法
- 高精度之除法模板
- 高精度除以高精度
- uva10494 (高精度除法)
- 高精度除法
- 高精度除法
- 字符串常量池
- hdu 5724 Chess SG函数
- Android APP启动关键流程分析
- ActiveMQ集群
- PHP学习笔记——使用list(),each(),while()循环遍历数组
- 高精度之高精度除法(高精除以低精)
- KMP算法
- 弹球的代码
- 帝国CMS万能标签实现排行榜式数字序号的排序列表
- JavaWeb 13 文件的上传和下载
- geopandas简单绘图及横坐标调整
- Eclipse中导入外部jar包
- 编程经验积累
- Think in java第二、三章 总结随笔