收藏 分享(赏)

大整数乘法--C++.doc

上传人:tkhy51908 文档编号:4853026 上传时间:2019-01-16 格式:DOC 页数:4 大小:35KB
下载 相关 举报
大整数乘法--C++.doc_第1页
第1页 / 共4页
大整数乘法--C++.doc_第2页
第2页 / 共4页
大整数乘法--C++.doc_第3页
第3页 / 共4页
大整数乘法--C++.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、大整数乘法仅供参考#include#includeusing namespace std;void MUL_max(string a,int la,string b,int lb,int *c);/相乘函数void ADD_max(int * d,int *c,int la,int lb);/相加函数char * ZhuanH(string);void main()string a;string b;int *c=NULL;int *d=NULL;int la=0,lb=0;int i=0,j=0,k=0;couta;coutb;la=a.length();lb=b.length();/分配

2、2 维 C 数组,存储数组 a 和 b 的乘积c=new int*la;for(k=0;k=0;i-)for(j=lb-1;j=0;j-)num_a=ai-48;num_b=bj-48;if(k=num_a*num_b)=10)/判断乘积是否有进位if(mid!=0)/判断前一次相乘是否有进位cij+1=k%10+mid;elsecij+1=k%10;mid=k/10;else/没有进位if(mid!=0)/判断前一次相乘是否有进位cij+1=k+mid;elsecij+1=k;mid=0;if(mid!=0)ci0=k/10;/如果乘数个位和被乘数相乘,最后有进位/数组相加函数void AD

3、D_max(int *d,int *c,int la,int lb)int i=0,j=0;int mid=0;int num_a=0,num_b=0;int add=0,midnum=0;/将相乘得到的二维数组 C 各行错位相加,得到一位数组 dfor(i=la-1;i=0;i-)for(j=lb;j=0;j-)num_a=di+j+1;num_b=cij;add=num_a+num_b;if(add=10)/判断相加是否有进位if(midnum=1)di+j+1=add%10+1;elsedi+j+1=add%10;midnum=1;elsedi+j+1=add;midnum=0;if(midnum=1)d0=add/10;/转化函数char * ZhuanH(string src)char *dst=new char255;int i;for(i=0;i=src.length();i+)dsti=srci;dsti=0;return dst;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > C/C++资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报