Submission
Status:
PPPPPPPPPx
Score: 90
User: akuyga1
Problemset: I.Quick Math
Language: c
Time: 0.009 second
Submitted On: 2024-10-15 13:49:59
#include <stdio.h>
#include <string.h>
int main(){
char x[1001];
char y[1001];
int result[2000];
scanf("%s %s",x,y);
int len1=strlen(x);
char temp[1000];
strcpy(temp,x);
for(int i=0;i<len1;i++){
x[i]=temp[len1-1-i]-'0';
}
int len2=strlen(y);
strcpy(temp,y);
for(int i=0;i<len2;i++){
y[i]=temp[len2-1-i]-'0';
}
// x
// *
// y
// ____
//make it all ascii and print it as %d
int max=0;
memset(result,0,sizeof(result));
for(int i=0;i<len2;i++){
for(int j=0;j<len1;j++){
result[i+j]+=y[i]*x[j];
int N=0;
while(result[i+j+N]>9){
result[i+j+N+1]+=(result[i+j+N]-(result[i+j+N]%10))/10;
result[i+j+N]=result[i+j+N]%10;
N++;
}
if(i+j+N>max)max=i+j+N;
//for(int k=max;k>=0;k--)printf("%d ",result[i]);
//printf("\n");
}
}
if(result[max]==0)max--;
for(int i=max;i>=0;i--)printf("%d",result[i]);
}