题目描述
读入高精度数和单精度数,求积。
输入格式
共两行 第一行 高精度数,长度不大于1000位。 第二行 单精度数小于二的31次方。
输出格式
一行,高精度数
样例
【样例输入】
12
4
【样例输出】
48
题解:
#include <bits/stdc++.h>
using namespace std;
int a[250];
string s;
int main() {
long b, i, j;
cin >> s;
cin >> b;
j = 0;
for (i = s.size() - 1; i >= 0; i--) {
a[j] = s[i] - '0';
j++;
}
for (i = 0; i < j; i++) {
a[i] = a[i] * b;
}
for (i = 0; i < j; i++) {
a[i + 1] = a[i + 1] + a[i] / 10;
a[i] = a[i] % 10;
}
int p = 0, len;
if (a[j] > 0)
len = j + 1;
else
len = j;
for (i = len - 1; i >= 0; i--) {
if (a[i] != 0) {
p = i;
break;
}
}
for (i = p; i >= 0; i--) {
cout << a[i];
}
return 0;
}