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);
}