char a[100005], s[100005];
int b;
int m[100005], p[100005];
/*
* 大数乘小数
* s=a*b
*/
void big_Mult_small(char a[], int b, char s[])
{
memset(m, 0, sizeof(m));
memset(p, 0, sizeof(p));
int len = strlen(a);
for (int i = 0; i < len; ++i)
m[i] = a[len - i - 1] - '0';
for (int i = 0; i < len; ++i)
p[i] = m[i] * b;
for (int i = 0; i < len; ++i)
if (p[i] >= 10) {
p[i + 1] += p[i] / 10;
p[i] %= 10;
}
while (p[len]) {
if (p[len] >= 10) {
p[len + 1] += p[len] / 10;
p[len] %= 10;
}
len++;
}
for (int i = 0; i < len; ++i)
s[i] = p[len - i - 1] + '0';
s[len] = '\0';
}
大数乘小数
最新推荐文章于 2018-05-09 18:19:51 发布