#include<cstdio> #include<cstring> #include<algorithm> #define MAX 600 using namespace std; struct NUM { int len; char s[MAX]; }num,num_1,num_2; int N[MAX]; int main() { #ifdef LOCAL freopen("in.txt","r",stdin); #endif // LOCAL int i,j; while(gets(num.s)!=NULL) { memset(N,sizeof(N)); num.len = strlen(num.s); num_1.len = num_2.len = 0; for(i = num.len-1; i >= 0; i--) num_1.s[num_1.len++] = num.s[i]; for(; num_1.len>=0&&num_1.s[num_1.len-1]=='0';num_1.len--); gets(num.s); num.len = strlen(num.s); for(i=num.len-1; i >= 0; i--) num_2.s[num_2.len++] = num.s[i]; for(; num_2.len>=0&&num_2.s[num_2.len-1]=='0';num_2.len--); for(i = 0; i < num_1.len; i++) { for(j = 0; j < num_2.len; j++) { N[i+j] += (num_1.s[i]-'0')*(num_2.s[j]-'0'); } } int sum = 0; for(i = 0; i < num_1.len+num_2.len; i++) { sum += N[i]; N[i] = sum%10; sum /= 10; } for(i = num_1.len+num_2.len; i >=0&&N[i]==0;i--);//刚开始没注意这 直接附上MAX超过数组范围了 结果WA的几次 细节啊 if(i == -1)printf("0");//结果为零的情况一定要考虑 else for(; i >= 0; i--) printf("%d",N[i]); printf("\n"); } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。