1 solutions
-
0
C++ :
#include <cstdio> #include <cstring> #include <cstdlib> #include <algorithm> #include <cmath> #include <iostream> using namespace std; char st[400]; struct node { int len; int a[401]; node() { len=0; memset(a,0,sizeof(a)); } }; node Cf(node n1,node n2) { node no; int i,j; no.len=n1.len+n2.len-1; for(i=1;i<=n1.len;i++) { for(j=1;j<=n2.len;j++) { no.a[i+j-1]+=n1.a[i]*n2.a[j]; } } for(i=1;i<=no.len;i++) { no.a[i+1]+=no.a[i]/10; no.a[i]%=10; } i=no.len; while(no.a[i+1]>0) { i++; no.a[i+1]+=no.a[i]/10; no.a[i]%=10; } no.len=i; while(no.a[no.len]==0&&no.len>1) no.len--; return no; } int main() { //freopen("a.in","r",stdin); //freopen("a.out","w",stdout); int i,j; node ans,ni,nj; scanf("%s",st); ni.len=strlen(st); for(i=1;i<=ni.len;i++) ni.a[i]=st[ni.len-i]-'0'; scanf("%s",st); nj.len=strlen(st); for(i=1;i<=nj.len;i++) nj.a[i]=st[nj.len-i]-'0'; ans=Cf(ni,nj); for(i=ans.len;i>=1;i--) printf("%d",ans.a[i]); printf("\n"); return 0; }
- 1
Information
- ID
- 601
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By