Description
题目描述
小明喜欢做a+b的算术,但是他经常忘记把末位对齐,再进行加,所以,经常会算错。 比如12+13,他把12左移了1位,结果变成了133。 小明已经算了一些等式,请计算一下他到底移动了多少位。
输入
第一行是一个整数K,表示样例的个数。 以后每行一个样例,形如a+b=c, 1≤a,b≤1e4;0≤c≤1e9。
输出
每行输出一个样例的结果,以b为标准,a如果往左移n位,输出n,如果往右移n位,输出-n。 测试数据保证一定有解,如果存在多个解,输出左移的结果。
样例输入
6
12+13=1213
12+13=1312
12+13=25
12+13=12013
12+13=133
12+13=142
样例输出
2
-2
0
3
1
-1
#include<stdio.h>
#include<math.h>
int main()
{
int x,c1,c,a,b,n,s=0,t=0;
scanf("%d",&x);
while(x--)
{
scanf("%d+%d=%d",&a,&b,&c);
t=0,s=0;
if((a+b)==c)
printf("0\n");
else{
for(n=1;n<=1000000000;n=n*10){
if(a*n+b==c){
t=1;
break;
}
s++;
}
if(t==0){
s=0;
for(n=1;n<=1000000000;n=n*10){
if(a+b*n==c){
break;
}
s--;
}
}
printf("%d\n",s);
}
}
return 0;
}