2572:Hard to Believe, but True!

keyword

C

概要

入力はa+b=cの形で与えられる。a,b,cは7桁以下の10進数。rev(a) + rev(b) = rev(c)であるかどうか判定する問題。
やるだけ、としか。

char line[30];
char a[10], b[10], c[10];

int parse(char s[]){
    int i, ret = 0, d=1;
    for(i=0; s[i]; i++){
        ret += (s[i]&15)*d;
        d *= 10;
    }
    return ret;
}

main(){
    int i;
    while(scanf("%s\n",line)!=EOF){
        for(i=0;line[i];i++)if(line[i]=='+' || line[i]=='=') line[i]=' ';
        sscanf(line,"%s %s %s",a,b,c);
        puts(parse(a) + parse(b) == parse(c) ? "True":"False");
    }
}