UVA10106大数乘法

很简单的大数乘法,注意俩个数中有一个为零的特殊情况就行,因此WA了一次:

#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<cctype> #include<cstdlib> int main() { char s[255],s1[255]; int s2[510]; while(~scanf("%s%s",s,s1)) { if(s[0]=='0'||s1[0]=='0') { printf("0\n"); continue; } memset(s2,sizeof(s2)); int len=strlen(s); int len1=strlen(s1); int flag=-1; int len2; for(int i=len-1;i>=0;i--) { flag++; int c=0; len2=500-flag; for(int j=len1-1;j>=0;j--,len2--) { s2[len2]=s2[len2]+c+(s[i]-'0')*(s1[j]-'0'); c=s2[len2]/10; s2[len2]%=10; } while(c!=0) { s2[len2]=s2[len2]+c; c=s2[len2]/10; s2[len2]%=10; len2--; } } int i; for(i=0;i<=500;i++) if(s2[i]!=0) break; for(;i<=500;i++) printf("%d",s2[i]); printf("\n"); } return 0; }

相关文章

自1998年我国取消了福利分房的政策后,房地产市场迅速开展蓬...
文章目录获取数据查看数据结构获取数据下载数据可以直接通过...
网上商城系统MySql数据库设计
26个来源的气象数据获取代码
在进入21世纪以来,中国电信业告别了20世纪最后阶段的高速发...