#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int a,b,k;
while(1)
{
scanf("%d%d%d",&a,&b,&k);
if(a==0&&b==0)
return 0;
int sum=a+b;
int flag=0;
while(k--)
{
if(!a&&!b)
break;//如果说已经除完啦。
if(a%10!=b%10)
{
flag=1;break;
}
a/=10;b/=10;
}
if(flag)
cout<<sum<<endl;
else
cout<<-1<<endl;
}
return 0;
}
/1 通过这个程序可以学到数字是如何简单匹配的。
下面是我写的程序,wa,查不到那里错啦。但那时起码学会啦字符串转化为数子的时候,要限反转在乘会很容易
#include<iostream>
#include<stdio.h>
#include<string>
#include<math.h>
#define MAX 8
using namespace std;
char A[MAX];char B[MAX];
int a;int b;int k;
int main()
{
int i,j;
//freopen("input.txt","r",stdin);
while(1)
{
//初始化
scanf("%s%s%d",A,B,&k);
a=0;b=0;
char newA[MAX];char newB[MAX];
for(i=0;i<MAX;i++)
{
newA[i]='0';
newB[i]='0';
}
if(A[0]=='0'&&B[0]=='0')
{
return 0;
}
//反转a和b
for(i=0;i<strlen(A);i++)
{
newA[strlen(A)-1-i]=A[i];
}
for(i=0;i<strlen(B);i++)
{
newB[strlen(B)-1-i]=B[i];
}
//判断后k位是否都相同
int same=1;
for(i=0;i<k;i++)
{
if(newA[i]==newB[i])
{
continue;
}
else
{
same=0;break;
}
}
//如果后k位相同
if(same==1)
{
printf("-1\n");
}
else
{
//算出来a和b
for(i=0;i<strlen(A);i++)
{
a+=(newA[i]-'0')*pow(10,i);
}
for(i=0;i<strlen(B);i++)
{
b+=(newB[i]-'0')*pow(10,i);
}
cout<<a+b<<endl;
}
}
return 0;
}