大数相乘
发布时间: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"); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |