HDU1229 还是A+B

问题链接:HDU1229 还是A+B

问题描述参见上述链接。

问题分析:(略)。

程序说明:函数power()可以用于计算10的k次方,是一个快速幂程序。

AC的C++语言程序如下:

/* HDU1229 还是A+B */

#include <iostream>
#include <cstdio>

using namespace std;

int power(int a, int n)
{
    int res = 1L;
    while(n) {
        if(n & 1L)
            res *= a;
        a *= a;
        n >>= 1;
    }
    return res;
}

int main()
{
    int a, b, k, temp;

    while(scanf("%d%d%d", &a, &b, &k) != EOF) {
        if(a == 0 && b == 0)
            break;

        temp = power(10, k);
        if(k > 0 && a % temp == b % temp)
            printf("-1\n");
        else
            printf("%d\n", a + b);
    }

    return 0;
}



posted on 2017-03-12 23:47  海岛Blog  阅读(178)  评论(0编辑  收藏  举报

导航