高精度乘单精度
2016-03-18 23:33
253 查看
高精度乘单精度
传入参数约定:传入第一个参数为string类型,,第二个参数为int型,返回值为string类型
算法思想:倒置相乘,然后统一处理进位,再还原。
算法复杂度:o(n).
#include<iostream> #include<cstring> #include<algorithm> using namespace std; const int L=100005; int na[L]; string mul(string a,int b) //高精度a乘单精度b { string ans; int La=a.size(); fill(na,na+L,0); for(int i=La-1;i>=0;i--) na[La-i-1]=a[i]-'0'; int w=0; for(int i=0;i<La;i++) na[i]=na[i]*b+w,w=na[i]/10,na[i]=na[i]%10; while(w) na[La++]=w%10,w/=10; La--; while(La>=0) ans+=na[La--]+'0'; return ans; } int main() { string a; int b; while(cin>>a>>b) cout<<mul(a,b)<<endl; return 0; }
相关文章推荐
- CSS3布局相关样式学习
- 使用 __weak typeof(self) weakSelf = self 在代码块内部崩溃问题
- 实现一个通讯录;
- hdu1205(基础)
- 链表中环的入口结点
- 关于单片机的学习经验
- 高精度乘高精度FFT优化算法
- fedora 23 lvm2格式 根目录磁盘空间不足 扩容
- 关于内核重载中基址重定位的一点解释
- 传递闭包
- 简述list,map,set, queue的区别
- HDU1166-敌兵布阵
- 安卓手机下拉状态栏的代码实现
- 动画抖动 解决
- Python爬虫实现半自动发微博
- SpringMVC Ajax请求返回404
- java调用shell命令并获取执行结果
- nyoj24水池数目
- 高精度除高精度
- Java day06 模版方法设计模式 抽象类