GDUFE ACM-1053
题目:http://acm.gdufe.edu.cn/Problem/read/id/1053
还是A+B
Time Limit: 2000/1000ms (Java/Others)
Problem Description:
读入两个小于10000的正整数A和B,计算A+B。需要注意的是:如果A和B的末尾K(不超过8)位数字相同,(位数不足前导补0)请直接输出-1。
Input:
测试输入包含若干测试用例,每个测试用例占一行,格式为"A B K",相邻两数字有一个空格间隔。当A和B同时为0时输入结束,相应的结果不要输出。
Output:
对每个测试用例输出1行,即A+B的值或者是-1。
Sample Input:
1 2 1 11 21 1 108 8 2 36 64 3 0 0 1
Sample Output:
3 -1 -1 100
思路:先判断AB是否同时为0,然后用循环判断后k位是否相同,再进行计算
难度:简单呐
代码:
1 #include<stdio.h> 2 int main() 3 { 4 int a,b,k,i,c,d,r; 5 while(scanf("%d%d%d",&a,&b,&k)!=EOF) 6 { 7 if(a==0&&b==0) 8 break; 9 c=a,d=b; 10 for(i=0;i<k;i++) 11 { 12 if(c%10==d%10) 13 r=1; 14 else {r=0;break;} 15 c=c/10,d=d/10; 16 } 17 if(r==1) 18 {printf("-1\n");continue;} 19 printf("%d\n",a+b); 20 } 21 return 0; 22 }