一.头文件
1.<iostream>
2.<cstdio>
3.<cstring>
*cstring 速度更快,尽量不用string
二.代码
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int N=501;
char s1[N],s2[N];
int a[N],b[N],c[N],lena,lenb,Index,x;
int main(){
cin>>s1>>s2;
lena=strlen(s1),lenb=strlen(s2),Index=lena+lenb;
if(lena==1 and s1[0]-'0'==0 or lenb==1 and s2[0]-'0'==0){
cout<<0;
return 0;
}
for(int i=0;i<lena;i++) a[i]=s1[lena-1-i]-'0';
for(int i=0;i<lenb;i++) b[i]=s2[lenb-1-i]-'0';
for(int i=0;i<lenb;i++){
for(int j=0;j<lena;j++){
c[j+i]+=b[i]*a[j]+x;
x=c[j+i]/10;
c[j+i]%=10;
}
if(x) c[lena+i]=x;
x=0;
}
while(c[Index]==0) Index--;
for(int i=Index;i>=0;i--) cout<<c[i];
return 0;
}
三.代码解析
Line1-3:导入头文件
Line4:命名空间
Line5-7:变量
Line9:读入两个数
Line10:长度和
Line11-14:判断是否为0
Line15-16:倒序
Line17-25:一位一位计算
Line26:驱0
Line27:倒序输出
***此文为原创,如有不正请多指示***
不求大家点赞关注,只要大家的评论和支持!
让我们一起建设CSDN这个大"社区"!
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
请勿抄袭!
原文链接:https://blog.csdn.net/C_User1024/article/details/138009338