#include<cstdio>
int main()
{
while(1)
{
int a, b, k;
scanf("%d%d%d",&a,&b,&k);
if(a == 0 && b == 0) break;
int per = 1;
for(int i = 1;i <= k;i++) per *= 10;
//发现用pow会有精度损失,因为pow的返回值是double
//否则想用per = pow(10, k);
if(a%per == b%per)
puts("-1");
else
printf("%d\n",a+b);
}
}
2020年1月25日
本文提供了一种解决HDU1229问题的算法,该问题涉及读取三个整数a、b和k,然后判断a和b在第k位是否相同。如果相同,则输出-1;否则,输出a+b的值。为了避免使用pow函数可能带来的精度损失,文章采用循环乘法来计算幂。
718

被折叠的 条评论
为什么被折叠?



