题解 | #还是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;
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务