题解 CF75A 【Life Without Zeros】

直接用%处理去0操作即可

#include <cstdio>
long long a,b,c,ta,tb,tc,sa,sb,sc;
int main()
{
    scanf("%lld %lld",&a,&b),c=a+b;
    while(a)
        ta=(a%10 == 0) ? ta : ta*10+a%10,a/=10;//每次取末尾的数字判断,如果不是0就加上去
    while(b)
        tb=(b%10 == 0) ? tb : tb*10+b%10,b/=10;//同理
    while(c)
        tc=(c%10 == 0) ? tc : tc*10+c%10,c/=10;//同理
    while(ta)
        sa=(ta%10 == 0) ? sa : sa*10+ta%10,ta/=10;//因为经过第一次处理完的数的顺序是反的,所以要再转成正的。
    while(tb)
        sb=(tb%10 == 0) ? sb : sb*10+tb%10,tb/=10;//同理
    while(tc)
        sc=(tc%10 == 0) ? sc : sc*10+tc%10,tc/=10;//同理
    if(sa+sb == sc)
        printf("YES");
    else
        printf("NO");
}
posted @ 2018-12-08 11:14  加固文明幻景  阅读(4)  评论(0编辑  收藏  举报  来源