Submission

Status:
PPPPPPPPPP

Score: 100

User: mydKN

Problemset: I.Quick Math

Language: c

Time: 0.009 second

Submitted On: 2024-10-14 00:28:20

#include<stdio.h>
#include<string.h>

int len(char str[]){
    int i;
    for(i=0;str[i]!='\0';++i){
        str[i]-='0';
    }
    return i;
}

int main(){
    char a[1100] = {0};
    char b[1100] = {0};
    int res[2100] = {0};
    scanf("%s", a);
    scanf("%s", b);
    int len_a = len(a);
    int len_b = len(b);
    int cnt = 0;
    int l = 0, r = len_a-1;
    while(l<r){
        int tmp = a[l];
        a[l] = a[r];
        a[r] = tmp;
        ++l;
        --r;
    }
    l = 0, r = len_b-1;
    while(l<r){
        int tmp = b[l];
        b[l] = b[r];
        b[r] = tmp;
        ++l;
        --r;
    }
    if(len_a >= len_b){
        for(int i=0;i<len_b;++i){
            cnt = i;
            for(int j=0;j<len_a;++j){
                int chk = 0;
                int mul = a[j]*b[i];
                res[cnt] += (mul%10);
                if(mul >= 10){
                    res[cnt+1] += (mul/10);
                    chk = 1;
                }
                if(res[cnt] >= 10){
                    res[cnt+1] += (res[cnt]/10);
                    res[cnt]%=10;
                    chk = 1;
                }
                if(i == len_b-1 && j == len_a-1 && chk) ++cnt;
                ++cnt;
            }
        }
    }
    else{
        for(int i=0;i<len_a;++i){
            cnt = i;
            for(int j=0;j<len_b;++j){
                int chk = 0;
                int mul = b[j]*a[i];
                res[cnt] += (mul%10);
                if(mul >= 10){
                    res[cnt+1] += (mul/10);
                    chk = 1;
                }
                if(res[cnt] >= 10){
                    res[cnt+1] += (res[cnt]/10);
                    res[cnt]%=10;
                    chk = 1;
                }
                if(i == len_a-1 && j == len_b-1 && chk) ++cnt;
                ++cnt;
            }
        }
    }
    for(int i=cnt-1;i>=0;--i) printf("%d", res[i]);
    // printf("%s\n%s", a, b);
}