Submission

Status:
PPPPPPPPPP

Score: 100

User: akuyga1

Problemset: I.Quick Math

Language: c

Time: 0.010 second

Submitted On: 2024-10-15 13:54:59

#include <stdio.h>
#include <string.h>
int main(){
    char x[1002];
    char y[1002];
    int result[2008];
    scanf("%s %s",x,y);
    int len1=strlen(x);
    char temp[1002];
    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]);
    
}