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

相关推荐

不愿透露姓名的神秘牛友
09-30 19:49
起名星人:蛮离谱的,直接要求转投销售
投递汇川技术等公司10个岗位
点赞 评论 收藏
分享
粗心的雪碧不放弃:纯学历问题,我这几个月也是一直优化自己的简历,后来发现优化到我自己都觉得牛逼的时候,发现面试数量也没有提升,真就纯学历问题
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务