游客 Signup | Login
中文 | En

1510 - 还是A+B

读入两个小于10000的正整数A和B,计算A+B。需要注意的是:如果A和B的末尾K(不超过8)位数字相同,请直接输出-1。

Input

测试输入包含若干测试用例,每个测试用例占一行,格式为"A B K",相邻两数字有一个空格间隔。当A和B同时为0时输入结束,相应的结果不要输出。

Output

对每个测试用例输出1行,即A+B的值或者是-1。

Examples

Input

2 3 1
12 22 1
11 111 2
0 0 2

Output

5
-1
-1

Solution C

int main (void)
{
	int a, b, k;
	int l; //除数

	while (1)
	{
		/*处理一行*/
		a = b = k = 0;
		l = 1;
		scanf("%d%d%d", &a, &b, &k);

		for (;k > 0; --k) 
		{
			l *= 10; 
		}

		if (a == 0 && b == 0)break;

		if ( a % l == b % l )
			printf("-1\n");
		else
			printf("%d\n", a+b);

	}

	return 0;
}

Solution C++

#include<stdio.h>
#include<math.h>

int main()
{
	int a,b,k,i,m,t;
	while(scanf("%d%d%d",&a,&b,&k)!=EOF,a||b)
	{
		if(a==b)
			printf("-1\n");
		else
		{
			m=fabs(a-b);
			t=0;
			i=10;
			while(1)
			{
				if(m%i==0)
					t++;
				else
					break;
				i*=10;
			}
			printf(t>=k?"-1\n":"%d\n",a+b);
		}
	}
	return 0;
}
Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题