给定两个非负整数(不含前导 0) A 和 B,请你计算 A×B 的值。
输入格式
共两行,第一行包含整数 A,第二行包含整数 B。
输出格式
共一行,包含 A×B 的值。
数据范围
1≤A的长度≤100000
0≤B≤10000
输入样例:
- 2
- 3
输出样例:
6
_____________________________________________________________________________
写作不易,点个赞呗!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
_____________________________________________________________________________
- #include<bits/stdc++.h>
- using namespace std;
- const int N=1e8+5;
- string s1,s2;
- int a[N],b[N],c[N];
- int l1,l2,l3;
- void chen(){
- for(int i=1;i<=l2;i++){
- for(int j=1;j<=l1;j++){
- int v=b[i]*a[j];
- c[i+j-1]+=v%10;
- c[i+j]+=v/10;
- if(v/10)l3=i+j;
- else l3=i+j-1;
- }
- }
- for(int i=1;i<=l3;i++){
- if(c[i]/9){
- l3=max(l3,i+1);
- c[i+1]+=c[i]/10;
- c[i]=c[i]%10;
- }
- }
- while(!c[l3]&&l3>1){l3--;}
- }
- void print(){
- for(int i=l3;i>0;i--)cout<<c[i];
- }
- int main(){
- cin>>s1>>s2;
- l1=s1.size(),l2=s2.size();
- for(int i=l1-1;i>=0;i--)a[l1-i]=s1[i]-'0';
- for(int i=l2-1;i>=0;i--)b[l2-i]=s2[i]-'0';
- chen();
- print();
-
- }