加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数相乘

发布时间:2020-12-14 02:20:22 所属栏目:大数据 来源:网络整理
导读:#include iostreamusing namespace std;char *mult(char *a,char *b,int m,int n){ char *c = (char*)malloc((m + n + 1)*sizeof(char)); memset(c,(m + n + 1)*sizeof(char));int i,j,r,k,carry; for (i = m - 1,r = m + n - 1; i = 0; i--,r--){ for (j =
#include <iostream>
using namespace std;

char *mult(char *a,char *b,int m,int n)
{ 
	char *c = (char*)malloc((m + n + 1)*sizeof(char)); 
	memset(c,(m + n + 1)*sizeof(char));
	int i,j,r,k,carry; 
	for (i = m - 1,r = m + n - 1; i >= 0; i--,r--)
	{ 
		for (j = n - 1,k = r; j >= 0; j--,k--)
		{ 
			c[k] += (a[i] - '0')*(b[j] - '0'); 
			carry = c[k] / 10;    //进位
			c[k - 1] += carry;	  //进位加到前一位
			c[k] = c[k] % 10;
		} 
		//cout << c[r] << endl;
	}
	c[m + n] = '';
	for (i = 0; i<m + n; i++)
	{ 
		c[i] += '0'; 
	}
	if (c[0] == '0')
	{ 
		for (i = 0; i<m + n - 1; i++)
			c[i] = c[i + 1]; 
		c[m + n - 1] = '';
	}
	return c; 
}

void main()
{
	
	char a[] = "123456";
	char b[] = "12345";
	char *res= mult(a,b,6,5);
	cout << res<<endl;
	system("pause");
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读