给定两个正整数A和B,请你计算A * B的值。
输入格式
共两行,第一行包含整数A,第二行包含整数B。
输出格式
共一行,包含A * B的值。
数据范围
1≤A的长度≤100000,
0≤B≤10000
输入样例:
2
3
输出样例:
6
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<ll>A,C;
void mul(vector<ll>A,ll b)
{
ll t=0; //表示进位;
for(ll i=0;i<A.size()||t;i++)
{
if(i<A.size())t+=A[i]*b; //每次给t加上A[i]*b;
C.push_back(t%10); //进位;
t/=10; //获得进位后的t;
}
while(C.size()>1&&C.back()==0)C.pop_back(); //只有当A或B是0时才有前导0;
}
int main()
{
string S;
cin>>S;
for(ll i=S.size()-1;i>=0;i--)A.push_back(S[i]-'0'); //反向输入容易处理;
ll b;
cin>>b;
mul(A,b);
for(ll i=C.size()-1;i>=0;i--)cout<<C[i]; //反向输出;
}