3117 高精度练习之乘法
2015-12-07 22:31
316 查看
[解题思路]
乘法的整体程序框架和加法的也是类似要注意,乘法中a的每一位都要和b的每一位相乘,乘完之后再从个位开始判断进位问题,最后反向去0输出就可以了
[代码实现]
#include <iostream> #include <string> using namespace std; string a,b; int ia[510],ib[510],pdt[1010]; int main() { cin>>a>>b; /* 逆序存储 */ for(int i=0;i<a.length();i++) ia[a.length()-i-1]=a[i]-'0'; for(int i=0;i<b.length();i++) ib[b.length()-i-1]=b[i]-'0'; /*乘法的规律*/ for(int i=0;i<b.length();i++) { for(int j=0;j<a.length();j++) { pdt[i+j]+=ia[j]*ib[i]; } } for(int i=0;i<1009;i++) { if(pdt[i]>=10) { pdt[i+1]+=pdt[i]/10; pdt[i]%=10; } } int fact_len=0; for(fact_len=1009;fact_len>=0;fact_len--) { if(pdt[fact_len]) break; } for(int i=fact_len;i>=0;i--) { cout<<pdt[i]; } return 0; }
相关文章推荐
- 信息安全系统设计基础实验五—20135222胡御风20135215黄伟业
- final、抽象类、接口、多态、
- cactiez安装
- 搭建时间同步服务器——简单高效
- Android广播机制-Broadcast Receiver
- View的封装
- hdu2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (多重背包)
- Remove Nth Node From End of List
- opencv SVM 训练行人检测器注意事项
- 对SQL授权的认识
- flask表单提交的两种方式
- HDU1069 Monkey and Banana 简单dp
- Python的lambda匿名函数
- 扩展欧几里德问题
- [LeetCode]018-4-Sum
- 随意细解:UI -- 初级数据持久化
- 新能源首页
- 内存管理pbuf.c源码解析——LwIP学习
- COCOS2D-3.9 Value接口分析
- 浅谈java.awt使用过程中遇到的问题