题解 | #还是A+B#
还是A+B
http://www.nowcoder.com/practice/8c3c5dae2c4a4266ba04f993a18e286b
思路很简单,要判断后面几位是否相同,直接mod 10^k就行; 比如
111 211 2
那么后两位相同,可以采用a%100与b%100判断是否一样即可,思路比较简单。
#include <iostream>
using namespace std;
bool Judge(int a,int b,int k){
int K = 1;
while(k--){
K*=10;
}
if(a%K==b%K){ //后几位相同,则返回true
return true;
}
return false;
}
int main(){
int a,b,k;
while(cin >> a >> b >> k){
if(a==0&&b==0)break;
bool ans = Judge(a,b,k);
if(ans){ //后几位相同,则直接输出-1
cout << "-1" << endl;
}else{
cout << a+b << endl;
}
}
return 0;
}