VIJOS 1040大数乘法
发布时间:2021-01-25 05:14:00 所属栏目:大数据 来源:网络整理
导读:#include"string.h"#include"stdio.h"#include"iostream"using namespace std;typedef long long ll;int main(){ char a[20000+50],b[20000+5000]; ll res[30000]; while(scanf("%s%s",a,b)!=EOF) { int i,j,k,start; int lena=strlen(a); int lenb=strlen(b
#include"string.h" #include"stdio.h" #include"iostream" using namespace std; typedef long long ll; int main() { char a[20000+50],b[20000+5000]; ll res[30000]; while(scanf("%s%s",&a,&b)!=EOF) { int i,j,k,start; int lena=strlen(a); int lenb=strlen(b); int len=lena+lenb-1; memset(res,sizeof(res)); for(i=lenb-1,start=0;i>=0;i--,start++) { for(j=lena-1,k=start;j>=0;j--,k++) res[k]+=(b[i]-48)*(a[j]-48); } for(i=0;i<len;i++) if(res[i]>=10) { res[i+1]+=res[i]/10; res[i]%=10; } if(res[len]) len++; if(res[len-1]>=10) { res[len]+=res[len-1]/10; res[len-1]%=10; len++; } for(i=len-1;i>=0;i--) cout<<res[i]; cout<<endl; } return 0; } (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |