Submission

Status:
----------

Score: 0

User: akuyga1

Problemset: I.Quick Math

Language: c

Time: 0.004 second

Submitted On: 2024-10-15 11:27:21

#include <stdio.h>

int main(){
    char x[1000];
    char y[1000];
    char result[1000000];
    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]=result[i+j+N]%10;
                result[i+j+N+1]=result[i+j+N]-(result[i+j+N]%10);
                N++;
            }
            if(i+j+N>max)max=i+j+N;
        }
        
    }
    if(result[max+1]==0)max--;
    for(int i=max+1;i>=0;i--)printf("%d",result[i]);
    
}