2562:Primary Arithmetic

keyword

C++

概要

整数の足し算をするとき繰り上がりが何回起こるかを求める問題。
書くだけ。これで丁度250問達成。ようやく目標の半分に達したけど、200~250は割とスムーズに進んだと思う。

int main(){
    ll a, b, c, carry, cnt, d;

    while(scanf("%lld%lld",&a,&b)){
        if(!(a||b))break;
        cnt = carry = 0;
        d = 1;
        while(d < (1ll<<50)){
            if(carry + (a/d)%10 + (b/d)%10>=10){
                carry = 1;
                cnt++;
            }
            else carry = 0;
            d *= 10;
        }

        if(!cnt)printf("No carry operation.\n");
        else if(cnt==1)printf("1 carry operation.\n");
        else printf("%d carry operations.\n", cnt);
    }

    return 0;
}